zoukankan      html  css  js  c++  java
  • .NET CORE中问题集合

    一、net core编码错误

    1、问题概述

    using System;
    using System.Text;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    //UTF-8 转 GB2312
                    Encoding utf8 = Encoding.GetEncoding(65001);
                    Encoding gb2312 = Encoding.GetEncoding("gb2312");
                    byte[] temp = utf8.GetBytes("你好");
                    byte[] temp1 = Encoding.Convert(utf8, gb2312, temp);
                    string result = gb2312.GetString(temp1);
                    Console.WriteLine(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                Console.Read();
            }
        }
    }

    运行结果:

    2、解决方法

    上面的大概意思是Encoding 不支持GB2312编码,是因为默然情况下它们的EncodingProvider没有注册。需要使用Encoding.RegisterProvider方法进行注册Provider。

    using System;
    using System.Text;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    //注册
               Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
              //UTF-8 转 GB2312
                    Encoding utf8 = Encoding.GetEncoding(65001);
                    Encoding gb2312 = Encoding.GetEncoding("gb2312");
                    byte[] temp = utf8.GetBytes("你好");
                    byte[] temp1 = Encoding.Convert(utf8, gb2312, temp);
                    string result = gb2312.GetString(temp1);
                    Console.WriteLine(result);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                Console.Read();
            }
        }
    }

    运行效果:

    未完待续。。。

  • 相关阅读:
    PostgreSQL 慢查询SQL语句跟踪
    unity WheelCollider调整
    C# 事件event
    C# 委托
    C4D导入fbx到Unity设置
    3DMAX导出fbx到unity设置
    unity 单面模型shader
    对数平均数
    GameObject:activeInHierarchy、activeSelf Behaviour:enabled
    unity Time.deltaTime
  • 原文地址:https://www.cnblogs.com/qtiger/p/14452788.html
Copyright © 2011-2022 走看看