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

 更新时间:2017年02月08日 08:37:22   投稿:jingxian  
下面小编就为大家带来一篇.Net(c#)汉字和Unicode编码互相转换实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
{"Tilte": "\u535a\u5ba2\u56ed", "Href": "https://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编码互相转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于C#实现的轻量级多线程队列图文详解

    基于C#实现的轻量级多线程队列图文详解

    这篇文章主要给大家介绍了关于基于C#实现的轻量级多线程队列的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • C#使用HttpWebRequest与HttpWebResponse模拟用户登录

    C#使用HttpWebRequest与HttpWebResponse模拟用户登录

    这篇文章主要为大家详细介绍了C#使用HttpWebRequest与HttpWebResponse模拟用户登录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • C#利用Aspose.PDF实现PDF转EPUB的完整指南

    C#利用Aspose.PDF实现PDF转EPUB的完整指南

    在 .NET 开发中,Aspose.PDF 是一个强大的库,能够帮助我们处理 PDF 文件的各种任务,包括将 PDF 转换为其他格式,如 EPUB,本文将介绍如何使用 Aspose.PDF 在 C# 中实现将 PDF 转换为 EPUB 的功能,需要的朋友可以参考下
    2025-02-02
  • 利用C#与PLC通信实现设备远程控制与管理

    利用C#与PLC通信实现设备远程控制与管理

    PLC是工业自动化中用于控制机械设备、生产线等的核心设备,通过与PLC的通信,我们可以实现设备的远程监控、数据采集等功能,C#作为一种现代化的编程语言,能够非常方便地与PLC进行通信,本文将介绍如何利用C#与PLC进行通信,并实现设备的远程控制与管理
    2025-02-02
  • C#流程控制详解

    C#流程控制详解

    这篇文章主要介绍了C#流程控制详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • C# DataTable与Model互转的示例代码

    C# DataTable与Model互转的示例代码

    这篇文章主要介绍了C#DataTable与Model互转的示例代码,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2020-12-12
  • C#调用pyd的方法

    C#调用pyd的方法

    这篇文章主要介绍了C#调用pyd的方法,帮助大家在项目中实现c#代码与python代码交互,在C#中调用python,也可以在python中调用C#.
    2020-11-11
  • 使用C#代码计算数学表达式实例

    使用C#代码计算数学表达式实例

    这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来执行表达式计算,该方法通过查找优先级最低的运算符来拆分表达式,并递归调用自身来评估子表达式
    2025-01-01
  • 经典实例讲解C#递归算法

    经典实例讲解C#递归算法

    这篇文章主要用实例讲解C#递归算法的概念以及用法,文中代码非常详细,帮助大家更好的参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • C# Any()和AII()方法的区别

    C# Any()和AII()方法的区别

    本文主要介绍了C# Any()和AII()方法的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论