`
pcajax
  • 浏览: 2110025 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C# unicode 编码 和 解码

 
阅读更多

  •  
  • 首先转换方面: 
    C#代码  收藏代码
    1.  byte[]   
    2. bytes = System.Text.Encoding.UTF8.GetBytes(msgStr);  
    3.  bytes = Encoding.Convert(Encoding.UTF8, Encoding.Unicode, bytes);  
    4.  bytes = System.Text.Encoding.Unicode.GetBytes(msgStr);  
    5. msgStr = System.Text.Encoding.GetEncoding("gb2312").GetString(Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding("gb2312"), bytes));  


    编码:"\\uxxxx" 转换为"\uxxxx" 
    解码:"\uxxxx" 转换为"\\uxxxxx" 

    编码算法 
    C#代码  收藏代码
    1. //UNICODE字符转为中文   
    2. 对这个方法做一点改进 使他支持中英混排   
    3. public static string ConvertUnicodeStringToChinese(string unicodeString)   
    4. {   
    5. if (string.IsNullOrEmpty(unicodeString))   
    6. return string.Empty;   
    7.   
    8. string outStr = unicodeString;   
    9.   
    10. Regex re = new Regex("\\\\u[0123456789abcdef]{4}", RegexOptions.IgnoreCase);   
    11. MatchCollection mc = re.Matches(unicodeString);   
    12. foreach (Match ma in mc)   
    13. {   
    14. outStr = outStr.Replace(ma.Value, ConverUnicodeStringToChar(ma.Value).ToString());   
    15. }   
    16. return outStr;   
    17. }   
    18.   
    19. private static char ConverUnicodeStringToChar(string str)   
    20. {   
    21.   char outStr = Char.MinValue;   
    22.   outStr = (char)int.Parse(str.Remove(0, 2),  System.Globalization.NumberStyles.HexNumber);   
    23.    return outStr;   
    24. }  


    解码: 
    C#代码  收藏代码
    1. static Regex reUnicode = new Regex(@"\\u([0-9a-fA-F]{4})", RegexOptions.Compiled);  
    2. public static string ConvertChineseToUnicodeString(string chinese)  
    3. {  
    4.    MatchCollection mc = re.Matches(chinese);  
    5.    string unicodeString="";  
    6.    foreach(Match ma in mc)  
    7.    {  
    8.       char c;  
    9.       if(Short.TryParse(ma.Remove(0,1), System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture, out c))  
    10.       {  
    11.         unicodeString +=("\\u"+c);  
    12.       }  
    13.    }  
    14. return unicodeString;  
    15. }   
    分享到:
    评论

    相关推荐

      UnicodeCode编码转换成字符串编码的C#类

      UnicodeCode编码转换成字符串编码的C#类 \uA054\uA055 => "中文

      .Net(c#)汉字和Unicode编码互相转换实例

      经常遇到这样内容的json字符串,原来是把其中的汉字做了Unicode编码转换。 Unicode编码: 将汉字进行UNICODE编码,如:“王”编码后就成了“\王”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制...

      JS与C#编码解码

      escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z encodeURI不编码字符有82个:!,#,$,&,’,(,),*... 0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURICompo

      PDU短信发送编码程序(C#)

      //Unicode解码函数 private string ascg(string smsg) { string res=""; string ls; string rs; byte[] resByte = System.Text.UnicodeEncoding.Unicode.GetBytes(smsg); for (int i = 0; i ; i+=2) { ls ...

      基于C#开发中的那些编码问题(详谈)

      最近一直在搞各种编码问题,略有心得,与大家分享一番。 System.Text提供了Encoding的抽象类,这...下面对ASCII和Unicode编码进行对比,废话不说,先上代码: 这是ASCII编码、解码。 static void Main(string[] args)

      TC35短信猫研究C#源码

      可以完成pdu的编解码,以及Unicode的编解码,包括源码。里面的短信类和编码类都已经经过验证,对于刚开始使用短信猫的人很有帮助。

      C#中二维码实现源代码(修正版)

      原版本 中有 IsUnicode 方法判断是否为Unicode编码 但这个方法好像有问题 所以无法准确判断中文。可以通过改写这个来实现中文。 另外有两个方法 都可以解决中文问题 public virtual String decode(QRCodeImage ...

      小巧强悍的工具Convert:正则表达式测试/代码转换/翻译/编解码/加解密

      4、Encoding<->Decoding:编码和解码,包括Base64、UTF-8、Unicode、HTML(&)、URL(%)…… 5、Encryption<->Decryption:加密和解密,包括高级标准算法(AES)、数据标准算法(DES)、三重数据标准算法(TripleDES)、...

      磅房bcd编码pb12.5解码程序

      pb12为unicode,而PB9为aASNI,用网上查找的资料无法解决读取问题,费了很多时间来来查找资料 用过各种办法,读数还是不对。用c#封装过dll,用pB封装过dll,但是都无法实现。查询帮助资料是才找到问题所在,把测试的源...

      c# 加密和解密相关代码

      本实例实现时,主要是用Convert 类的ToChar 方法来获取单个字符的Unicode 编码,然后将字母的前13 个和后13 个对调,从而实现加密的功能。下面对Convert类的ToChar 方法进行详细讲解。 ToChar 方法返回指定的Unicode...

      C# WinForm 二维码图片 中文

      因为中文编码有UTF-8和gb2312两种,于是上面的代码改为return Encode(content, Encoding.GetEncoding("UTF-8")); 这样就比较完美了,360安全二维码能够识别了,其它软件也能识别了。 ThoughtWorks.QRCode源码已经...

      W3100SM-S短信猫下

      W3100SM-S短信猫,Unicode编码,解码,TCP发送,接收;短信猫模拟器

      SQLServer CLR实现Unicode URL 加解密,MD5不同编码加密

      因工作时常在SQLSERVER进行http接口操作,涉及编码的转换问题和中文MD5的加密问题,在数据库中根本无法实现,经研究可以借助CLR功能实现一下函数。 附件中提供了源码、开启CLR脚本及直接注册一下函数的脚本,无c#...

      W3100SM-S短信猫上

      W3100SM-S短信猫 Unicode 编码解码

      ThoughtWorks.QRCode源码并winform示例

      要将中文信息生成为二维码,使用... 因为中文编码有UTF-8和gb2312两种,于是上面的代码改为return Encode(content, Encoding.GetEncoding("UTF-8")); 这样就比较完美了,360安全二维码能够识别了,其它软件也能识别了。

      手机QQ协议、3GQQ协议的SDK、QQ空间协议、webQQ协议

      手机QQ方式上线、获取好友列表、给好友发送消息 C3GQQ类 3GQQ方式上线、给好友发送消息、自定义地理位置发表iphone说说 CData类 很容易的读取json数据、xml数据 CEncode类 UTF-8编码、GB2312编码、Unicode编码解码、...

      erlpack:高性能Erlang术语格式打包器

      Erlpack是适用于Python和JavaScript的Erlang术语格式(版本131)的快速编码器和解码器。 JavaScript 可以打包的东西: 空值 布尔值 弦乐 原子 Unicode字符串 浮点数 整数 多头 超过64位 对象 数组 元组 ...

      《QRCode生成二维码(支持中文)源码》

      因为中文编码有UTF-8和gb2312两种,于是上面的代码改为return Encode(content, Encoding.GetEncoding("UTF-8")); 这样就比较完美了,360安全二维码能够识别了,其它软件也能识别了。 注意: 开发环境为Visual ...

    Global site tag (gtag.js) - Google Analytics