C# 实现Escape UnEscape方法(支持中文-转载)
//Escape方法 public static string Escape(string s) { StringBuilder sb = new StringBuilder(); byte[] byteArr = System.Text.Encoding.Unicode.GetBytes(s); for (int i = 0; i < byteArr.Length; i += 2) { sb.Append("%u"); sb.Append(byteArr[i + 1].ToString("X2"));//把字節轉換為十六進制的字符串表現形式 sb.Append(byteArr[i].ToString("X2")); } return sb.ToString(); } //UnEscape方法 public static string UnEscape(string s) { string str = s.Remove(0, 2);//刪除最前面兩個"%u" string[] strArr = str.Split(new string[] { "%u" }, StringSplitOptions.None);//以子字符串"%u"分隔 byte[] byteArr = new byte[strArr.Length * 2]; for (int i = 0, j = 0; i < strArr.Length; i++, j += 2) { byteArr[j + 1] = Convert.ToByte(strArr[i].Substring(0, 2), 16); //把十六進制形式的字串符串轉換為二進制字節 byteArr[j] = Convert.ToByte(strArr[i].Substring(2, 2), 16); } str = System.Text.Encoding.Unicode.GetString(byteArr); //把字節轉為unicode編碼 return str; }
本博客是个人工作中记录,更深层次的问题可以提供有偿技术支持。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。
另外建了几个QQ技术群:
2、全栈技术群:616945527
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600
闲置域名WWW.EXAI.CN (超级人工智能)出售。