碰到傳輸問題,Java接口那邊版本低,給的字符串里頭包含特殊字符
(½) == ½
KIDS' SNOW BOOTS BOTAS DE NIEVE PARA NIÑOSTemperature Rated Skid Resistant
N上面加個波浪符號,只能進行特殊轉換,直接對整個字符串進行Unicode轉換
/// <summary> /// Unicode字符串轉換幫助類 /// </summary> public class UniCodeHelper { /// <summary> /// 特殊字符String轉Unicode /// </summary> /// <param name="str"></param> /// <returns></returns> public static string ToUnicodeString(string str) { StringBuilder strResult = new StringBuilder(); if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { strResult.Append("\\u"); strResult.Append(((int)str[i]).ToString("x")); } } return strResult.ToString(); } /// <summary> /// 含Unicode字符轉String /// </summary> /// <param name="str"></param> /// <returns></returns> public static string FromUnicodeString(string str) { //最直接的方法Regex.Unescape(str); StringBuilder 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(); } }
感謝: https://blog.csdn.net/u011511086/article/details/72865006
https://blog.csdn.net/cy_baicai/article/details/82897724
