.Net(c#)汉字和Unicode编码互相转换
2024-08-27 10:20:20
{"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"), )));
}
最新文章
- 信息安全-2:python之hill密码算法[原创]
- 移动端视网膜(Retina)屏幕下1px边框线 解决方案
- js之 matches (可以取代jq的 delegate 方法)
- sap去除后缀0方法
- Silverlight验证相关
- Delphi 7 里没有加载的控件
- [Express] Level 5: Route Instance -- refactor the code
- Android 创建Library Project(库项目)与引用操作
- android 串口开发第二篇:利用jni实现android和串口通信
- Python3 MySQL 数据库连接
- JavaWeb学习总结(转载)
- 编译安装redis4.0
- LwIP Application Developers Manual3---链路层和网络层协议之ARP,IPV4
- 蓝桥杯之剪格子(经典dfs)
- 中文分词 coreseek安装笔记
- innodb crash
- ISE创建Microblaze软核(一)
- Python算法应用实战之队列详解
- sharepoint rest 脚本发送邮件
- vijos 1057 盖房子 简单DP
热门文章
- Linux堆内存管理深入分析(下)
- ABP理论学习之EntityFramework集成
- 【HTML5】Web Audio API打造超炫的音乐可视化效果
- Nova PhoneGap框架 第三章 页面
- [解惑]JavaScript事件机制
- 【Java并发编程实战】-----&ldquo;J.U.C&rdquo;:ReentrantLock之三unlock方法分析
- [ASP.NET MVC 小牛之路]15 - Model Binding
- C语言 &#183; 最小公倍数
- Fiddler调式使用知多少(一)深入研究
- 一个上好的C# http/https类