C#字符串与unicode互相转换

来源:互联网 发布:房产拍卖淘宝司法拍卖 编辑:程序博客网 时间:2024/04/30 08:57


                    

分类: C# 1384人阅读 评论(0)收藏 举报
c#stringbufferdstbyteclass
[html] view plaincopyprint?
  1. /// <summary>  
  2.     /// 普通字符串与UniCode字符串间转换  
  3.     /// </summary>  
  4.     public static class StringToUniCode  
  5.     {  
  6.         /// <summary>  
  7.         /// 字符串转为UniCode码字符串  
  8.         /// </summary>  
  9.         /// <param name="s"></param>  
  10.         /// <returns></returns>  
  11.         public static string StringToUnicode(string s)  
  12.         {  
  13.             char[] charbuffers = s.ToCharArray();  
  14.             byte[] buffer;  
  15.             StringBuilder sb = new StringBuilder();  
  16.             for (int i = 0; i < charbuffers.Length; i++)  
  17.             {  
  18.                 buffer = System.Text.Encoding.Unicode.GetBytes(charbuffers[i].ToString());  
  19.                 sb.Append(String.Format("//u{0:X2}{1:X2}", buffer[1], buffer[0]));  
  20.             }  
  21.             return sb.ToString();  
  22.         }  
  23.         /// <summary>  
  24.         /// Unicode字符串转为正常字符串  
  25.         /// </summary>  
  26.         /// <param name="srcText"></param>  
  27.         /// <returns></returns>  
  28.         public static string UnicodeToString(string srcText)  
  29.         {  
  30.             string dst = "";  
  31.             string src = srcText;  
  32.             int len = srcText.Length / 6;  
  33.             for (int i = 0; i <= len - 1; i++)  
  34.             {  
  35.                 string str = "";  
  36.                 str = src.Substring(0, 6).Substring(2);  
  37.                 src = src.Substring(6);  
  38.                 byte[] bytes = new byte[2];  
  39.                 bytes[1] = byte.Parse(int.Parse(str.Substring(0, 2), NumberStyles.HexNumber).ToString());  
  40.                 bytes[0] = byte.Parse(int.Parse(str.Substring(2, 2), NumberStyles.HexNumber).ToString());  
  41.                 dst += Encoding.Unicode.GetString(bytes);  
  42.             }  
  43.             return dst;  
  44.         }  
  45.     }   
[html] view plaincopyprint?
  1.    
[html] view plaincopyprint?
  1. VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序  
[html] view plaincopyprint?
  1. <a href="http://jingyan.baidu.com/article/9c69d48f680f4813c9024e19.html">http://jingyan.baidu.com/article/9c69d48f680f4813c9024e19.html</a>  


转载:

http://blog.csdn.net/nnsword/article/details/6023367

0 0
原创粉丝点击