首页 > 其他分享 >将汉字转换为gb2312编码

将汉字转换为gb2312编码

时间:2023-05-16 16:11:06浏览次数:69  
标签:编码 Encoding gb2312 汉字 fromEcoding byte toEcoding

//将汉字转换成GB2312编码
        private byte[] StringToBytes(string TheString)
        {
            Encoding fromEcoding = Encoding.GetEncoding("UTF-8");//返回utf-8的编码
            Encoding toEcoding = Encoding.GetEncoding("gb2312");
            byte[] fromBytes = fromEcoding.GetBytes(TheString);
            byte[] tobytes = Encoding.Convert(fromEcoding, toEcoding, fromBytes);//将字节数组从一种编码转换为另一种编码
            return tobytes;

        }
        //将GB2312编码转换成汉字
        private string BytesToString(byte[] bytes)
        {
            string myString;
            Encoding fromEcoding = Encoding.GetEncoding("gb2312");
            Encoding toEcoding = Encoding.GetEncoding("UTF-8");
            byte[] toBytes = Encoding.Convert(fromEcoding, toEcoding, bytes);
            myString = toEcoding.GetString(toBytes);//将字节数组解码成字符串
            return myString;
        }

注意,如果报错

“'gb2312' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. Arg_ParamName_Name”

在nuget中安装System.Text.CodePages,在需要转码的地方插入如下代码:

//将汉字转换成GB2312编码
        private static byte[] StringToBytes(string TheString)
        {
        //插入此代码 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Encoding fromEcoding = Encoding.GetEncoding("UTF-8");//返回utf-8的编码 Encoding toEcoding = Encoding.GetEncoding("gb2312"); byte[] fromBytes = fromEcoding.GetBytes(TheString); byte[] tobytes = Encoding.Convert(fromEcoding, toEcoding, fromBytes);//将字节数组从一种编码转换为另一种编码 return tobytes; }

 

翻译

搜索

复制

:“'gb2312' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. Arg_ParamName_Name”  

标签:编码,Encoding,gb2312,汉字,fromEcoding,byte,toEcoding
From: https://www.cnblogs.com/zzgxl/p/17405950.html

相关文章

  • Python-解决字符串编码UnicodeEncodeError错误
     data_results="123456789\u93b4\u612c\u59db\u2022"#将字符串转换为字节序列:使用encode方法将字符串转换为字节序列,并指定编码格式为utf-8print(data_results.encode('utf-8'))#使用encode方法将字符串转换为字节序列,并指定编码格式为gbk,使用ignore参数忽略无法处理的字......
  • 元类强制编码规范
    元类一般作为顶层框架使用在顶层控制底层派生类方法的命名规范classMeta(type):def__new__(cls,clsname,bases,clsdict):fornameinclsdict:ifname.lower()!=name:raiseTypeError(f"类{clsname}中{name}命名不规范......
  • 汉字转换为拼音的JavaScript库的比较
    JSPinyin有提供了两个方法:<依赖mootools>1)一个是将汉字翻译为拼音,其中每一个字的首字母大写;1pinyin.getFullChars(this.value);2)一个是可以将每一个字的拼音的首字母提取出来,是大写的形式。1pinyin.getCamelChars(this.value);还可以设置是否判断多音字。只是功能比较简单,如......
  • execjs - 编码报错问题解决方案
    当在Python中运行execjs时遇到编码问题,可能是由于JS代码中使用了非UTF-8编码。为了解决这个问题,您可以尝试以下两种方案最直接方法需要修改Subprocess中的Enconding为"Utf-8"将JS代码转换为UTF-8编码您可以在JS代码中将所有字符串转换为UTF-8编码。例如,您可以在JS代码文件......
  • 接口自动化时64编码踩了个小坑
    1、在做api接口自动化时,请求的头部需要鉴权处理,账号信息要先进行64编码,首先要从配置文件中获取到账号和密码 2、获取到账号密码,进行64编码后设置请求头, 3、设置请求头时,"Authorization":"Basic{}".format(base.decode())这里一定要decode解码,否则会设备为鉴权失败,此为过......
  • 文本编码处理
    编码识别工具包chardetpipinstallcchardetcchardetimportrequestsimportchardetres=requests.get("https://www.baidu.com/")encoding=chardet.detect(res.content)['encoding']print(res.content.decode(encoding))importrequestsimpor......
  • 三菱FX3U PID恒速控制变频器实例 编码器测电机转速,
    三菱FX3UPID恒速控制变频器实例编码器测电机转速,当负载变化引起转速变化,PLCPID模拟量控制变频器达到指定转速,形成闭环控制,控制稳定,亲测可用。内容包含plc和触摸屏程序和教程。YID:2316654562314900......
  • Shift_JIS编码撞的坑
    一开始以为直接把Shift_JIS的文本强转为GBK,再改下判断边界和Charset就行了没想到死活搞也搞不定这玩意,永远是一坨半角片假名查了下编码表,至少是正确地读出了GBK编码最后经群友指点才发现程序里面MultiByteToWideChar函数全是硬编码的932遂x64dbg筛选后全部改为936,解决提醒一......
  • 哈夫曼编码
    哈夫曼编码&文文件压缩和解压哈夫曼编码基本介绍赫夫曼编码也翻译为哈夫曼编码(HuffmanCoding),又称霍夫曼编码,是一种编码方式,属于一种程序算法赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%~90%之间赫......
  • 利用FPGA对cameralink的数据进行发送编码。 不使用DS90CR
    利用FPGA对cameralink的数据进行发送编码。不使用DS90CR287芯片,直接在FPGA内部进行编码。调通案例见下图。本人在xilinx(赛灵思)A7,K7,V7,zynq7,ultrascale以及ultrascale+系列的FPGA上已经验证通过,相关项目已经交付。本人在此深耕多年,完全掌握cameralink传输标准,解码编码标准,现承接定......