C#字符串与unicode互相转换



                    

分类: C# 1384人阅读 评论(0) 收藏 举报
  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.     }   
/// <summary>
    /// 普通字符串与UniCode字符串间转换
    /// </summary>
    public static class StringToUniCode
    {
        /// <summary>
        /// 字符串转为UniCode码字符串
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public static string StringToUnicode(string s)
        {
            char[] charbuffers = s.ToCharArray();
            byte[] buffer;
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < charbuffers.Length; i++)
            {
                buffer = System.Text.Encoding.Unicode.GetBytes(charbuffers[i].ToString());
                sb.Append(String.Format("//u{0:X2}{1:X2}", buffer[1], buffer[0]));
            }
            return sb.ToString();
        }
        /// <summary>
        /// Unicode字符串转为正常字符串
        /// </summary>
        /// <param name="srcText"></param>
        /// <returns></returns>
        public static string UnicodeToString(string srcText)
        {
            string dst = "";
            string src = srcText;
            int len = srcText.Length / 6;
            for (int i = 0; i <= len - 1; i++)
            {
                string str = "";
                str = src.Substring(0, 6).Substring(2);
                src = src.Substring(6);
                byte[] bytes = new byte[2];
                bytes[1] = byte.Parse(int.Parse(str.Substring(0, 2), NumberStyles.HexNumber).ToString());
                bytes[0] = byte.Parse(int.Parse(str.Substring(2, 2), NumberStyles.HexNumber).ToString());
                dst += Encoding.Unicode.GetString(bytes);
            }
            return dst;
        }
    } 
  1.    
 
  1. VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序  
VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序
  1. <a href="http://jingyan.baidu.com/article/9c69d48f680f4813c9024e19.html">http://jingyan.baidu.com/article/9c69d48f680f4813c9024e19.html</a>  
<a target=_blank href="http://jingyan.baidu.com/article/9c69d48f680f4813c9024e19.html">http://jingyan.baidu.com/article/9c69d48f680f4813c9024e19.html</a>


转载:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值