C#中文和UNICODE字符转换方法
在线直接转换工具 http://tool.sufeinet.com/Code/ChineseUnicode.aspx
这个方式其实很多见,特别是使用Json的时候用的比较多,
其实也很简单主要是使用了ToString("x")方法
直接看代码吧
[C#] 纯文本查看 复制代码 string str = "大家好我是苏飞";
string outStr = "";
if (!string.IsNullOrEmpty(str))
{
for (int i = 0; i < str.Length; i++)
{
//将中文字符转为10进制整数,然后转为16进制unicode字符
outStr += "\\u" + ((int)str).ToString("x");
}
}
下面方法是怎么样把UNICODE数据转成中文
就比如说像下面这样的数据吧
\u8c01\u80fd\u591f\u7ed9\u6211\u98ce\u9669\u6295\u8d44\u54e6!\u6211\u60f3\u501f\u5341\u4e07\u529e\u4e00\u4e2a\u517b\u6b96\u5382\u3002\u6211\u53ef\u662f\u6709\u5bb6\u5ead\u62c5\u4fdd\u7684\u54e6!#\u4e0a\u7f51\u7231\u901b\u4ec0\u4e48
这里主要是使用的Parse方法
看具体实现吧
[C#] 纯文本查看 复制代码 private void Form1_Load(object sender, EventArgs e)
{
string str = @"\u8c01\u80fd\u591f";
str = UniconToString(str);
}
/// <summary>
/// 将Unicon字符串转成汉字String
/// </summary>
/// <param name="str">Unicon字符串</param>
/// <returns>汉字字符串</returns>
public string UniconToString(string str)
{
string outStr = "";
if (!string.IsNullOrEmpty(str))
{
string[] strlist = str.Replace("\\", "").Split('u');
try
{
for (int i = 1; i < strlist.Length; i++)
{
//将unicode字符转为10进制整数,然后转为char中文字符
outStr += (char)int.Parse(strlist, System.Globalization.NumberStyles.HexNumber);
}
}
catch (FormatException ex)
{
outStr = ex.Message;
}
}
return outStr;
}
|