//中文轉為UNICODE
string str = "中文"; string outStr = ""; if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { //將中文轉為10進制整數,然後轉為16進制unicode outStr += "\\u" + ((int)str[i]).ToString("x"); } }
//UNICODE轉為中文(最直接的方法Regex.Unescape(input);)
string str = "\\u4e2d\\u6587"; 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[i], System.Globalization.NumberStyles.HexNumber); } } catch (FormatException ex) { outStr = ex.Message; } }
注:
1.这是前人的杰作,原著:http://www.cnblogs.com/scgw/archive/2009/07/02/1515915.html
2.稍后我会整理一下,最好能寻找一个更好的方法,因为这个一看就感觉到这方法的速度肯定快不起来啊,对于少量文本还行,多了就悲剧了。
//中文轉為UNICODE
string str = "中文"; string outStr = ""; if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { //將中文轉為10進制整數,然後轉為16進制unicode outStr += "\\u" + ((int)str[i]).ToString("x"); } }
//UNICODE轉為中文(最直接的方法Regex.Unescape(input);)
string str = "\\u4e2d\\u6587"; 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[i], System.Globalization.NumberStyles.HexNumber); } } catch (FormatException ex) { outStr = ex.Message; } }
注:
1.这是前人的杰作,原著:http://www.cnblogs.com/scgw/archive/2009/07/02/1515915.html
2.稍后我会整理一下,最好能寻找一个更好的方法,因为这个一看就感觉到这方法的速度肯定快不起来啊,对于少量文本还行,多了就悲剧了。
|
请发表评论