广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#Unicode编码解码的实现
  • 487
分享到

C#Unicode编码解码的实现

2024-04-02 19:04:59 487人浏览 独家记忆
摘要

Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制

Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

在这里插入图片描述

在表示一个Unicode的字符时,通常会用“U+”然后紧接着一组十六进制的数字来表示这一个字符。在 基本多文种平面里的所有字符,要用四位十六进制数;在零号平面以外的字符则需要使用五位或六位十六进制数了。

string str = @"\u0005 \u0002\U00f3 \U +e9\u00e9";
string newStr = UnicodeDecode(str);
Console.WriteLine(newStr);
Console.WriteLine();

newStr = ToUnicode("0 - * @ , 。 ? 真的 繁體字");
Console.WriteLine(newStr);
Console.WriteLine();

正常字符转换为unicode

        /// <summary>
        /// 对正常的字符串转换为 Unicode 的字符串
        /// </summary>
        /// <param name="nORMalStr">正常的字符串</param>
        /// <param name="isIgnoreSpace">是否忽略空格符;默认 true 空格符不转换;false 空格符要转换</param>
        /// <param name="isUpperCaseU">是否大写U字母 ‘\U';默认 false ‘\u'</param>
        /// <returns></returns>
        public string ToUnicode(this string normalStr, bool isIgnoreSpace = true, bool isUpperCaseU = false)
        {
            if (string.IsNullOrEmpty(normalStr))
            {
                return string.Empty;
            }

            StringBuilder strResult = new StringBuilder();

            void func(int index)
            {
                if (isUpperCaseU)
                {
                    strResult.Append("\\U");
                }
                else
                {
                    strResult.Append("\\u");
                }
                strResult.Append(((int)normalStr[index]).ToString("x").PadLeft(4, '0'));
            }

            for (int i = 0; i < normalStr.Length; i++)
            {
                if (isIgnoreSpace)
                {
                    if (normalStr[i] == ' ')
                    {
                        strResult.Append(" ");
                    }
                    else
                    {
                        func(i);
                    }
                }
                else
                {
                    func(i);
                }
            }
            return strResult.ToString();
        }

解码

        /// <summary>
        /// 对 Unicode 的字符串解码
        /// </summary>
        /// <param name="unicodeStr">Unicode 字符串</param>
        /// <returns></returns>
        public string UnicodeDecode(string unicodeStr)
        {
            if (string.IsNullOrWhiteSpace(unicodeStr) || (!unicodeStr.Contains("\\u") && !unicodeStr.Contains("\\U")))
            {
                return unicodeStr;
            }

            string newStr = Regex.Replace(unicodeStr, @"\\[uU](.{4})", (m) =>
            {
                string unicode = m.Groups[1].Value;
                if (int.TryParse(unicode, System.Globalization.NumberStyles.HexNumber, null, out int temp))
                {
                    return ((char)temp).ToString();
                }
                else
                {
                    return m.Groups[0].Value;
                }
            }, RegexOptions.Singleline);

            return newStr;
        }

到此这篇关于C# Unicode编码解码的实现的文章就介绍到这了,更多相关C# Unicode编码解码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#Unicode编码解码的实现

本文链接: https://www.lsjlt.com/news/152180.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#Unicode编码解码的实现
    Unicode是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制...
    99+
    2022-11-13
  • C# Unicode编码解码如何实现
    本文小编为大家详细介绍“C# Unicode编码解码如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“C# Unicode编码解码如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。U...
    99+
    2023-07-02
  • php如何实现汉字转unicode编码
    小编给大家分享一下php如何实现汉字转unicode编码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php实现汉字转unicode编码的方法:首先创建一个PHP示例文件;然后通过“function UnicodeEnco...
    99+
    2023-06-08
  • Java中Unicode编码和实现的示例分析
    这篇文章主要为大家展示了“Java中Unicode编码和实现的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中Unicode编码和实现的示例分析”这篇文章吧。Unicode的编码...
    99+
    2023-05-30
    java unicode
  • JAVA中的Unicode编码问题怎么解决
    在Java中解决Unicode编码问题有多种方法:1. 使用正确的字符编码读取和写入文件:当从文件中读取或写入文本时,需要注意使用正...
    99+
    2023-08-19
    JAVA
  • C#实现Base64编码与解码及规则
    一、编码规则 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24 位数据,再把这24位...
    99+
    2022-11-12
  • J2ME对Unicode实体编码转换代码是什么
    这篇文章主要讲解了“J2ME对Unicode实体编码转换代码是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“J2ME对Unicode实体编码转换代码是什...
    99+
    2022-10-19
  • vbs实现unicode和ascii编码转换的方法教程
    本篇内容主要讲解“vbs实现unicode和ascii编码转换的方法教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vbs实现unicode和ascii编码转换的方法教程”吧!一、Copy a...
    99+
    2023-06-08
  • python解决汉字编码问题:Unicode Decode Error
    前言 最近由于项目需要,需要读取一个含有中文的txt文档,完了还要保存文件。文档之前是由base64编码,导致所有汉字读取显示乱码。项目组把base64废弃之后,先后出现两个错误: ascii code...
    99+
    2022-06-04
    汉字 python Unicode
  • php unicode编码怎么通过c++给转化成汉字
    这篇“php unicode编码怎么通过c++给转化成汉字”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php unicod...
    99+
    2023-07-05
  • php unicode编码如何通过c++给转化成汉字
    在C++编程中,有时候需要将PHP Unicode编码转换成汉字,具体的实现方法可以通过以下步骤进行:确定编码格式在PHP代码中,Unicode编码通常以\u开头,后面跟随四个十六进制数字,如\u4e2d表示汉字“中”。在C++中,需要先将...
    99+
    2023-05-14
  • Python中的字符串操作和编码Unicode详解
    本文主要给大家介绍了关于 Python中的字符串操作和编码Unicode的一些知识,下面话不多说,需要的朋友们下面来一起学习吧。 字符串类型 str:Unicode字符串。采用''或者r''构造的字符串均...
    99+
    2022-06-04
    字符串 详解 操作
  • ASCII、Unicode、UTF-8编码问题实例分析
    本篇内容介绍了“ASCII、Unicode、UTF-8编码问题实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!关于编码验证以往我们可能...
    99+
    2023-06-02
  • python实现unicode转中文及转换默认编码的方法
    本文实例讲述了python实现unicode转中文及转换默认编码的方法。分享给大家供大家参考,具体如下: 一、在爬虫抓取网页信息时常需要将类似"u4ebau751fu82e6u77eduff0cpyu662...
    99+
    2022-06-04
    中文 方法 python
  • java怎么获取字符的unicode编码
    在 Java 中,可以使用 `char` 类型的 `unicode` 属性来获取字符的 Unicode 编码。以下是一个示例代码:`...
    99+
    2023-08-18
    java
  • Python 编码处理-str与Unicode的区别
    一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 一运...
    99+
    2022-06-04
    区别 Python str
  • 如何解决Python unicode ascii编码在windows上的问题
    这期内容当中小编将会给大家带来有关如何解决Python unicode ascii编码在windows上的问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。unicode ascii编码在计算机的相关实际...
    99+
    2023-06-17
  • VBS如何实现GB2312,UTF-8,Unicode,BIG5编码转换工具
    这篇文章将为大家详细讲解有关VBS如何实现GB2312,UTF-8,Unicode,BIG5编码转换工具,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体代码: 代码如下:' *====...
    99+
    2023-06-08
  • c语言中怎么实现qp编解码
    本篇文章给大家分享的是有关c语言中怎么实现qp编解码,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 void DecodeQP(ngx_str_t *des...
    99+
    2023-06-04
  • java中的unicode编码方式怎么使用
    在Java中,可以使用\u后面跟着四个十六进制数字的方式表示Unicode编码的字符。例如,要表示字符'中'的Unicode编码为U...
    99+
    2023-09-25
    Java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作