• C#中文乱码解决:UTF8 转 UNICODE


    XML文件可以采用多种编码,但是经过不同的编码后对于中文会出现乱码问题,比如“骞垮憡涓戦椈”,对于此问题的解决如下:

    static void Main()
          {
             string utf8String = "骞垮憡涓戦椈";

             // Create two different encodings.
             Encoding utf8= Encoding.UTF8;
             Encoding defaultCode= Encoding.Default;

             // Convert the string into a byte[].
             byte[] utf8Bytes = default.GetBytes(utf8String );

             // Perform the conversion from one encoding to the other.
             byte[] defaultBytes = Encoding.Convert(utf8, defaultCode, utf8Bytes );
                
             // Convert the new byte[] into a char[] and then into a string.
             // This is a slightly different approach to converting to illustrate
             // the use of GetCharCount/GetChars.
             char[] defaultChars = new char[defaultCode.GetCharCount(defaultBytes , 0, defaultBytes .Length)];
             defaultCode.GetChars(defaultBytes , 0, defaultBytes .Length, defaultChars , 0);
             string defaultString = new string(defaultChars );

             // Display the strings created before and after the conversion.
             Console.WriteLine("Original string: {0}", utf8String);
             Console.WriteLine("Ascii converted string: {0}", defaultString);

    //或者如下:
             byte[] buffer1 = Encoding.Default.GetBytes(utf8String );
             byte[] buffer2 = Encoding.Convert(Encoding.UTF8, Encoding.Default, buffer1, 0, buffer1.Length);
             string strBuffer = Encoding.Default.GetString(buffer2, 0, buffer2.Length);
          }

  • 相关阅读:
    APP-Android:APK
    软件-版本控制:VCS(版本控制系统)
    协议-网络-安全协议-SSH(安全外壳协议):百科
    un-解决方案-BIM:百科
    MySQL:常用语句
    rsync+inotify-tools文件实时同步
    Java实现 Leetcode 169 求众数
    Java实现 Leetcode 169 求众数
    Java实现 LeetCode 137 只出现一次的数字
    Java实现 LeetCode 137 只出现一次的数字
  • 原文地址:https://www.cnblogs.com/Alex80/p/13329315.html
Copyright © 2020-2023  润新知