今天在写“开心网助手”是碰到了JSON中包含了Unicode,但是Json.NET却无法正常的把Unicode转成汉字(或许是自己的用法有问题,又或者是自己还不了解如何使用Json.NET),于是写了以下方法用于把Unicode转成汉字。
Code
/// <summary>
/// 把四个字符长度的Unicode转成对应的汉字
/// </summary>
/// <param name="str">长度是4的Unicode</param>
/// <returns>对应的汉字,若转换出错则返回原字符串</returns>
static string Unicode2UnitCharacter(string str)
{
if (str.Length != 4)
{
return str;
}
try
{
byte code = System.Convert.ToByte(str.Substring(0, 2), 16);
byte code2 = System.Convert.ToByte(str.Substring(2), 16);
return System.Text.Encoding.Unicode.GetString(new byte[] { code2, code });
}
catch (Exception)
{
return str;
}
}
如果在C#中,你还可以这样使用:
Code
string str = "\u4F60";
Console.WriteLine(str); // 输出:你