[C#Util]将汉字转化为2位大写的16进制Unicode

 说明:

str.ToString("x") : 转为1位16进制小写

str.ToString("X") : 转为1位16进制大写

str.ToString("X2"):转为2位16进制大写

1 publicstaticstring StringToUnicode16(string text, string prefixalChar, string splitChar)
2 {
3 var sb =new StringBuilder();
4 if (string.IsNullOrEmpty(text))
5 {
6 returnstring.Empty;
7 }
8
9 foreach (var t in text)
10 {
11 var by = Encoding.Unicode.GetBytes(Convert.ToString(t));
12
13 if (by.Length !=2)
14 {
15 sb.Append(Convert.ToString(t));
16 continue;
17 }
18
19 //只处理中文
20 if (by[1] ==0)
21 {
22 sb.Append(Convert.ToString(t));
23 continue;
24 }
25
26 sb.Append(prefixalChar);
27 sb.Append(by[1].ToString("X2"));
28 sb.Append(by[0].ToString("X2"));
29 sb.Append(splitChar);
30 }
31
32 return sb.ToString();
33 }
原文地址:https://www.cnblogs.com/CopyPaster/p/1895233.html