Rupert

::Me(C#,VC,MonoTouch,MonoforAndroid);

导航

将汉字转化为2位大写的16进制Unicode

Posted on 2013-01-31 19:17  ArRan  阅读(253)  评论(0编辑  收藏  举报

说明:

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();
         }