Unicode 编码解码
1. Regex.Unescape(str);返回Unicode解码,非Unicode直接返回
/// <summary>
/// 2.转为Unicode编码
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string ToUnicode(string str)
{
var strResult = new StringBuilder();
if (string.IsNullOrEmpty(str)) return strResult.ToString();
foreach (var t in str)
{
strResult.Append("\\u");
strResult.Append(((int)t).ToString("x"));
}
return strResult.ToString();
}
/// <summary>
/// 3.Unicode 解码
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string EnUnicode(string str)
{
var strResult = new StringBuilder();
if (!string.IsNullOrEmpty(str))
{
string[] strlist = str.Replace("\\", "").Split('u');
try
{
for (int i = 1; i < strlist.Length; i++)
{
int charCode = Convert.ToInt32(strlist[i], 16);
strResult.Append((char)charCode);
}
}
catch (FormatException ex)
{
return Regex.Unescape(str);
}
}
return strResult.ToString();
}