.netcore c#代码中使用如下代码尝试获取指定的字符编码时会抛出异常。

System.Text.Encoding.GetEncoding("GB2312")

//或者

System.Text.Encoding.GetEncoding("GBK")

获取中文字符编码,如GB2312、GBK时会抛出异常:
Unhandled Exception: System.ArgumentException: 'GB2312' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
或者
Unhandled Exception: System.ArgumentException: 'GBK' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
原因是在.netcore中没有安装注册GB2312或者GBK编码

解决方法

  • Nuet中安装System.Text.Encoding.CodePages包
  • 注册编码,在代码中加入如下代码
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
最后修改:2022 年 09 月 30 日
免责声明:本站为个人博客,博客所发布的一切修改补丁、注册机和注册信息及软件的文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途。否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款。