{"Tilte": "\u535a\u5ba2\u56ed", "Href": "http://www.cnblogs.com"}

经常遇到这样内容的json字符串,原来是把其中的汉字做了Unicode编码转换。

Unicode编码:

  将汉字进行UNICODE编码,如:“王”编码后就成了“\王”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的256以内的一个数字。而一个汉字是由两个字符组成,于是就很容易理解了,“738b”是两个字符,分别是“73”“8b”。但是在将 UNICODE字符编码的内容转换为汉字的时候,字符是从后面向前处理的,所以,需要把字符按照顺序“8b”“73”进行组合得到汉字

Unicode/汉字互转实现:

/// <summary>
/// <summary>
/// 字符串转Unicode
/// </summary>
/// <param name="source">源字符串</param>
/// <returns>Unicode编码后的字符串</returns>
public static string String2Unicode(string source)
{
byte[] bytes = Encoding.Unicode.GetBytes(source);
StringBuilder stringBuilder = new StringBuilder();
for (int i = ; i < bytes.Length; i += )
{
stringBuilder.AppendFormat("\\u{0}{1}", bytes[i + ].ToString("x").PadLeft(, ''), bytes[i].ToString("x").PadLeft(, ''));
}
return stringBuilder.ToString();
} /// <summary>
/// Unicode转字符串
/// </summary>
/// <param name="source">经过Unicode编码的字符串</param>
/// <returns>正常字符串</returns>
public static string Unicode2String(string source)
{
return new Regex(@"\\u([0-9A-F]{4})", RegexOptions.IgnoreCase | RegexOptions.Compiled).Replace(
source, x => string.Empty + Convert.ToChar(Convert.ToUInt16(x.Result("$1"), )));
}

最新文章

  1. 信息安全-2:python之hill密码算法[原创]
  2. 移动端视网膜(Retina)屏幕下1px边框线 解决方案
  3. js之 matches (可以取代jq的 delegate 方法)
  4. sap去除后缀0方法
  5. Silverlight验证相关
  6. Delphi 7 里没有加载的控件
  7. [Express] Level 5: Route Instance -- refactor the code
  8. Android 创建Library Project(库项目)与引用操作
  9. android 串口开发第二篇:利用jni实现android和串口通信
  10. Python3 MySQL 数据库连接
  11. JavaWeb学习总结(转载)
  12. 编译安装redis4.0
  13. LwIP Application Developers Manual3---链路层和网络层协议之ARP,IPV4
  14. 蓝桥杯之剪格子(经典dfs)
  15. 中文分词 coreseek安装笔记
  16. innodb crash
  17. ISE创建Microblaze软核(一)
  18. Python算法应用实战之队列详解
  19. sharepoint rest 脚本发送邮件
  20. vijos 1057 盖房子 简单DP

热门文章

  1. Linux堆内存管理深入分析(下)
  2. ABP理论学习之EntityFramework集成
  3. 【HTML5】Web Audio API打造超炫的音乐可视化效果
  4. Nova PhoneGap框架 第三章 页面
  5. [解惑]JavaScript事件机制
  6. 【Java并发编程实战】-----&ldquo;J.U.C&rdquo;:ReentrantLock之三unlock方法分析
  7. [ASP.NET MVC 小牛之路]15 - Model Binding
  8. C语言 &#183; 最小公倍数
  9. Fiddler调式使用知多少(一)深入研究
  10. 一个上好的C# http/https类