说明:
str.ToString("x") : 转为1位16进制小写
str.ToString("X") : 转为1位16进制大写
str.ToString("X2"):转为2位16进制大写
publicstaticstring StringToUnicode16(string text, string prefixalChar, string splitChar) { var sb =new StringBuilder(); if (string.IsNullOrEmpty(text)) { returnstring.Empty; } foreach (var t in text) { var by = Encoding.Unicode.GetBytes(Convert.ToString(t)); if (by.Length !=2) { sb.Append(Convert.ToString(t)); continue; } //只处理中文 if (by[1] ==0) { sb.Append(Convert.ToString(t)); continue; } sb.Append(prefixalChar); sb.Append(by[1].ToString("X2")); sb.Append(by[0].ToString("X2")); sb.Append(splitChar); } return sb.ToString(); }