zoukankan      html  css  js  c++  java
  • NetCore 开发时中文编码转换出现异常

    在C#编程的时候难免会遇到需要转换编码的场合.
    在Framwork中可以用System.Text.Encoding解决,但是到了core会发现,虽然也有这个东西,但几个关键的中文编码(比如GB2312)找不着.
    即便你在中文Windows系统或者中文linux系统.

    测试代码:

    static void Main(string[] args)
    {
        var gb2312=Encoding.GetEncoding("GB2312");
        gb2312=gb2312;//此处打断点
        Console.WriteLine("Hello World!");
    }
    

    解决方法:

    安装这个nuget包: System.Text.Encoding.CodePages

    dotnet add package System.Text.Encoding.CodePages
    

    这个包提供了中文代码页,安装这个以后,在代码最开头注册一下(整个程序运行期间只需要注册一次,全局生效):

    static void Main(string[] args)
    {
        System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
        var gb2312=Encoding.GetEncoding("GB2312");
        gb2312=gb2312;//此处打断点
        Console.WriteLine("Hello World!");
    }
    

    结果:

  • 相关阅读:
    正则表达式
    移动开发知识点收集
    SQL Server
    百度数据图表插件Echarts
    Xamarin
    Func与Action
    MVC Core
    利用 async & await 的异步编程
    CSS3
    [leetcode]374. Guess Number Higher or Lower
  • 原文地址:https://www.cnblogs.com/DragonStart/p/11961217.html
Copyright © 2011-2022 走看看