C#汉字Unicode编码相互转换
2013-01-04 13:39
513 查看
Unicode和汉字编码小知识
将汉字进行UNICODE编码,如:“王”编码后就成了“\王”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的256以内的一个数字。而一个汉字是由两个字符组成,于是就很容易理解了,“738b”是两个字符,分别是“73”“8b”。但是在将 UNICODE字符编码的内容转换为汉字的时候,字符是从后面向前处理的,所以,需要把字符按照顺序“8b”“73”进行组合得到汉字。
下面是C#汉字Unicode编码相互转换代码。
将汉字进行UNICODE编码,如:“王”编码后就成了“\王”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的256以内的一个数字。而一个汉字是由两个字符组成,于是就很容易理解了,“738b”是两个字符,分别是“73”“8b”。但是在将 UNICODE字符编码的内容转换为汉字的时候,字符是从后面向前处理的,所以,需要把字符按照顺序“8b”“73”进行组合得到汉字。
下面是C#汉字Unicode编码相互转换代码。
using System; using System.Text; using System.Text.RegularExpressions; using System.Globalization; public class GB2312UnicodeConverter { /// <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; } }
相关文章推荐
- C#汉字Unicode编码相互转换
- C#汉字Unicode编码相互转换
- C#_汉字与GBK,Unicode,UTF-8编码之间的转换
- .Net(c#)汉字和Unicode编码互相转换
- .Net(C#)汉字和Unicode编码互相转换
- .Net(c#)汉字和Unicode编码互相转换实例
- .Net(c#)汉字和Unicode编码互相转换
- C#中将UNICODE编码后的字符转换为汉字
- C#_汉字与GBK,Unicode,UTF-8编码之间的转换(by daode1212)
- C#_汉字与GBK,Unicode,UTF-8编码之间的转换(by daode1212)
- 汉字与Unicode编码相互转换(Js版)
- 汉字与Unicode编码相互转换(asp版)
- JavaScript汉字Unicode编码相互转换
- JavaScript汉字Unicode编码相互转换
- 根据Unicode编码用C#语言把它转换成汉字的代码
- C#,JavaScript 汉字转换为Unicode编码 Unicode编码转换为汉字
- 数据库乱码问题 & Python 编码问题(Unicode 的 encode、decode 相互转换 )
- 数据库乱码问题 & Python 编码问题(Unicode 的 encode、decode 相互转换 )
- &#x(unicode编码后的汉字)JS转换方法
- JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换