在.NET Core中,默认是不支持GB2312和GBK编码的。

例如我们如果新建一个.NET Core控制台项目,然后在其Main方法中使用如下代码:

using System;
using System.Text; namespace NetCoreCoding
{
class Program
{
static void Main(string[] args)
{
string textToEncode = "今天是个好天气"; byte[] byteData = Encoding.GetEncoding("gb2312").GetBytes(textToEncode); Console.WriteLine("Press key to end...");
Console.ReadKey();
}
}
}

运行到Encoding.GetEncoding("gb2312")时,会出现异常:

异常信息如下:

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

所以在.NET Core中如果我们要使用GB2312和GBK编码,需要给项目引入一个Nuget包:

System.Text.Encoding.CodePages

然后使用Encoding.RegisterProvider方法进行注册Provider,我们将.NET Core控制台项目的Main方法改为如下:

using System;
using System.Text; namespace NetCoreCoding
{
class Program
{
static void Main(string[] args)
{
string textToEncode = "今天是个好天气"; Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);//注册Nuget包System.Text.Encoding.CodePages中的编码到.NET Core
byte[] byteData = Encoding.GetEncoding("gb2312").GetBytes(textToEncode); Console.WriteLine("Press key to end...");
Console.ReadKey();
}
}
}

现在再调用Encoding.GetEncoding("gb2312")就不会抛出异常了。

如何让.NET Core支持GB2312和GBK的更多相关文章

  1. [转] Sublime Text 3支持GB2312和GBK编码

    Sublime Text 3与Sublime Text 2的不同 其实有不少人写过如何让Sublime Text 2支持GB2312和GBK编码,例如这篇.基本原理就是先装好Package Contr ...

  2. 【linux学习笔记】Sublime Text3支持GB2312和GBK编码以及中文输入法

    几天在ubuntu15.10下使用Sublime Text3发现中文乱码,以及不能使用中文输入法(搜狗输入法linux版)的问题,捣鼓了半天,终于完善了,下面po一下我的解决方案. 一.支持GB231 ...

  3. Sublime Text 3技巧:支持GB2312和GBK编码

    From: http://blog.csdn.net/ubuntulover/article/details/21101979 Sublime Text 3与Sublime Text 2的不同 其实有 ...

  4. 【UWP】解析GB2312、GBK编码网页乱码问题

    在WebHttpRequest请求网页后,获取到的中文是乱码,类似这样: <title>˹ŵ��Ϸ���������� - ��̳������ -  ˹ŵ��Ϸ����</title ...

  5. .net core默认不支持gb2312

    采集数据时,乱码,之前遇到过这个情况,于是老办法: 果断使用Encoding.GetEncoding(“GB2312”),抛异常.搜了下,是因为.net core默认不支持gb2312 所以,两个办法 ...

  6. 各种编码中汉字所占字节数;中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030

    vim settings set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936,latin1set termencoding=utf-8se ...

  7. 网络编码 GB2312、GBK与UTF-8的区别

    GB2312.GBK与UTF-8的区别  这是一个异常经典的问题,有无数的新手站长每天都在百度这个问题,而我,作为一个“伪老手”站长,在明白这个这个问题的基础上,有必要详细的解答一下.  首先,我们要 ...

  8. vim 编辑器 打开GB2312、GBK文件乱码解决方法

    安装好的操作系统一般都带有vim编辑器,但是默认不支持GB2312中文,打开文件出现乱码,解决办法如下. 1.打开以下文件 sudo vim /var/lib/locales/supported.d/ ...

  9. 中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030

    中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030 cp936是微软自己发布的用在文件系统中的编码方式.而bg2312是中国国家标准.我明白mount -t vfa ...

随机推荐

  1. CSS expression属性

    expression属性是在IE5版本之后支持使用的,用来把CSS属性和JavaScript脚本关联起来.简单粗暴的说,该属性是用来调用JavaScript代码的. CSS属性后面是一段JavaScr ...

  2. 关于CSS的一些基础内容

    最近用到了CSS,刚好学学.CSS(Cascading Style Sheet)中文名层叠样式表,用于为html文档添加样式控制,也是一种计算机语言. 一.CSS语法a)CSS规则由选择器和声明组成, ...

  3. Android事件总线(一)EventBus3.0用法全解析

    前言 EventBus是一款针对Android优化的发布/订阅事件总线.简化了应用程序内各组件间.组件与后台线程间的通信.优点是开销小,代码更优雅,以及将发送者和接收者解耦.如果Activity和Ac ...

  4. Git的gc功能

    http://blog.csdn.net/lihuanshuai/article/details/37345565 Git的底层并没有采用 CVS.SVN 底层所采用的那套增量式文件系统,而是采用一套 ...

  5. Python3.5中安装Scrapy包时出现问题

    在Python3.5中安装Scrapy第三方库 pip install Scrapy 安装到后面出现的这类错误: error: Microsoft Visual C++ 14.0 is require ...

  6. Centos7系统详细的启动流程

    熟悉系统启动流程对于我们学习Linux系统是非常有帮助的,虽然基础,但能帮助我们更加理解Linux系统的工作机制.以下将以CentOS发行版为例来介绍Linux系统的启动流程,因为在CentOS 5. ...

  7. rsync远程同步的基本配置与使用

    rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用. rsync的官 ...

  8. 4.9Python数据类型(5)列表(新版)

    前言 列表是一种python类似数组的数据结构,操作灵活,可存储多种类型的数据. 目录 1.列表的基础知识 2.列表的增删改查并操作 3.列表的其他操作 4.基本方法表 (一)列表的基础知识 1.说明 ...

  9. zabbix实现微信告警配置

    zabbix设置微信报警的配置过程 zabbix的报警方式有很多,在这里我们来详细说明一下如何通过微信报警 微信企业号的申请 注册的地址https://qy.weixin.qq.com/  这样企业就 ...

  10. Unity RGBA16 + Dither

    游戏开发中有些场合,ETC或者说PVRTC压缩质量不满足的情况下,RGBA32(原图)对美术而言肯定可以满足的,但是RGBA32是不管是对内存占用内存太厉害. RGBA16/RGB16会减少内存的占用 ...