您的位置:首页 > 其它

Unicode编码与汉字字符串的转换

2013-12-13 17:00 399 查看
/// <summary>

/// 汉字转换为Unicode编码

/// </summary>

/// <param name="str">要编码的汉字字符串</param>

/// <returns>Unicode编码的的字符串</returns>

public static string ToUnicode(string str)

{

byte[] bts = Encoding.Unicode.GetBytes(str);

string r = "";

for (int i = 0; i < bts.Length; i += 2) r += "\\u" + bts[i + 1].ToString("x").PadLeft(2, '0') + bts[i].ToString("x").PadLeft(2, '0');

return r;

}

/// <summary>

/// 将Unicode编码转换为汉字字符串

/// </summary>

/// <param name="str">Unicode编码字符串</param>

/// <returns>汉字字符串</returns>

public static string ToGB2312(string str)

{

string r = "";

MatchCollection mc = Regex.Matches(str, @"\\u([\w]{2})([\w]{2})", RegexOptions.Compiled | RegexOptions.IgnoreCase);

byte[] bts = new byte[2];

foreach (Match m in mc)

{

bts[0] = (byte)int.Parse(m.Groups[2].Value, NumberStyles.HexNumber);

bts[1] = (byte)int.Parse(m.Groups[1].Value, NumberStyles.HexNumber);

r += Encoding.Unicode.GetString(bts);

}

return r;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: