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

{"Tilte": "\u535a\u5ba2\u56ed", "Href": "http://www.jb51.net"}

经常遇到这样内容的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 = 0; i < bytes.Length; i += 2)
 {
  stringBuilder.AppendFormat("\\u{0}{1}", bytes[i + 1].ToString("x").PadLeft(2, '0'), bytes[i].ToString("x").PadLeft(2, '0'));
 }
 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"), 16)));
}

以上这篇.Net(c#)汉字和Unicode编码互相转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • C#实现汉字转换为拼音缩写的代码

    本文实例为大家分享了C#汉字转换为拼音缩写的实现代码,供大家参考,具体内容如下 using System; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web

  • C# 汉字转化拼音的简单实例代码

    首先引入ChnCharInfo.dll 第3方的一个库 代码: btn_chinChar_Click事件: 复制代码 代码如下: private void btn_chinChar_Click(object sender, EventArgs e)        {            ChineseChar cr =null;            string str = "", txtString = txt_string.Text.Trim();            if

  • C#将Unicode编码转换为汉字字符串的简单方法

    C# 将js中的UNICODE转换为字符串,网上找的都不行,遇到有数字的转不出来,稍稍改了点,OK了! 实例如下: /// 将Unicode编码转换为汉字字符串 /// /// Unicode编码字符串 /// 汉字字符串 public static string ToGB2312(string str) { MatchCollection mc = Regex.Matches(str, "([\\w]+)|(\\\\u([\\w]{4}))"); if (mc != null &am

  • C#把UNICODE编码转换为GB编码的实例

    实例如下: public string unicodetogb(string text) { System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches(text, "\\\\u([\\w]{4})"); if (mc != null && mc.Count > 0) { foreach (System.Text.RegularEx

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

    {"Tilte": "\u535a\u5ba2\u56ed", "Href": "http://www.jb51.net"} 经常遇到这样内容的json字符串,原来是把其中的汉字做了Unicode编码转换. Unicode编码: 将汉字进行UNICODE编码,如:"王"编码后就成了"\王",UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的25

  • c# 实现获取汉字十六进制Unicode编码字符串的实例

    1.汉字转十六进制UNICODE编码字符串 /// <summary> /// //// /// </summary> /// <param name="character"></param> /// <returns></returns> public string CharacterToCoding(string character) { string coding = ""; for (i

  • PHP中对汉字进行unicode编码和解码的实现方法(必看)

    实例如下: //将内容进行UNICODE编码 function unicode_encode($name) { $name = iconv('UTF-8', 'UCS-2', $name); $len = strlen($name); $str = ''; for ($i = 0; $i < $len - 1; $i = $i + 2) { $c = $name[$i]; $c2 = $name[$i + 1]; if (ord($c) > 0) { // 两个字节的文字 $str .= '\

  • JavaScript中字符串与Unicode编码互相转换的实现方法

    本文实例讲述了JavaScript中字符串与Unicode编码互相转换的实现方法.分享给大家供大家参考,具体如下: 这段代码演示了JavaScript中字符串与Unicode编码的转换: // 为了控制台的演示方便, 变量没有添加 var 定义 // 实际编程中请避免 // 字符串 str = "中文"; // 获取字符 char0 = str.charAt(0); // "中" // 数字编码值 code = str.charCodeAt(0); // 20013

  • python字符串与url编码的转换实例

    主要应用的场景 爬虫生成带搜索词语的网址 1.字符串转为url编码 import urllib poet_name = "李白" url_code_name = urllib.quote(poet_name) print url_code_name #输出 #%E6%9D%8E%E7%99%BD 2.url编码转为字符串 import urllib url_code_name = "%E6%9D%8E%E7%99%BD" name = urllib.unquote(

  • js字符串与Unicode编码互相转换

    '好'.charCodeAt(0).toString(16) "597d" 这段代码的意思是,把字符'好'转化成Unicode编码, 看看charCodeAt()是怎么个意思 charCodeAt() 方法可返回指定位置的字符的 Unicode 编码.这个返回值是 0 - 65535 之间的整数. 等于就是'charCodeAt()'里面的这个参数是指定位置的单个字符, '好哦'.charCodeAt(0).toString(16) "597d" '好哦'.char

  • javascript下汉字和Unicode编码互转代码

    var classObj= { ToUnicode:function(str) { return escape(str).replace(/%/g,"\\").toLowerCase(); }, UnUnicode:function(str) { return unescape(str.replace(/\\/g, "%")); }, copyingTxt:function(str) { document.getElementById(str).select();

  • emoji表情与unicode编码互转的实现(JS,JAVA,C#)

    前几天刚好有需求要把emoji对应的Unicode编码转换成文字,比如1f601对应的这个笑脸

  • JS实现的Unicode编码转换操作示例

    本文实例讲述了JS实现的Unicode编码转换操作.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Unicode编码转换</title> </head> <body> <script> /* *js Unicode编码转换 */ va

随机推荐