汉字向十六进制转换
代码
///<summary>
/// 将汉字转换为Unicode
///</summary>
///<param name="stringText"></param>
///<returns></returns>
private static string ToUnicode(string stringText)
{
string outStr ="";
if (!string.IsNullOrEmpty(stringText))
{
for (int i =0; i < stringText.Length; i++)
{
//将中文字符转为10进制整数,然后转为16进制unicode字符
outStr +="\\u"+ ((int)stringText[i]).ToString("x");
}
}
return outStr;
}
十六进制向汉字转换
privatestaticstring ToChinese(string utf16String)
{
//转换后返回所转换
string[] splitString =newstring[1];
splitString[0] =@"\u";
string[] utf16Strings = utf16String.Split(splitString, StringSplitOptions.RemoveEmptyEntries);
StringBuilder returnString =new StringBuilder();
foreach (string ss in utf16Strings)
{
//ss是4个字符构成的一个字符编码,占用4个编码;
//string->byte[]->string
byte[] codes =newbyte[2];
int code1, code2;
code1 = Convert.ToInt32(ss.Substring(0, 2), 16);
code2 = Convert.ToInt32(ss.Substring(2), 16);
codes[0] = (byte)code2;
codes[1] = (byte)code1;
string getString = Encoding.Unicode.GetString(codes);
returnString.Append(getString);
}
return returnString.ToString();
}