日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#字符集編碼的使用及說明_C#教程

作者:Danny_hi ? 更新時間: 2023-03-20 編程語言

C#字符集編碼的使用

  • ASCII:西歐字符集
  • GB2312:國家簡體中文字符集,兼容ASCII。
  • BIG5:統一繁體字編碼
  • GBK:它是GB2312的擴展,支持簡體和繁體字,兼容GB2312
  • GB18030:在GBK基礎上繼續擴展生僻字和日文、朝鮮語等的編碼,兼容GBK
  • UNICODE:為世界650種語言進行統一編碼,只兼容ASCII對GB系列都不兼容

eg:

public static int GetGBKValue(string key)
 {
            byte[] gbk = Encoding.GetEncoding("GBK").GetBytes(key);
            //或者byte[] gbk = Encoding.UTF8.GetBytes(key);
            
            string code = "";
            foreach (byte b in gbk)
            {
                code += string.Format("{0:X2}", b);
            }
            int gbkValue = int.Parse(code, NumberStyles.HexNumber);
            return gbkValue;
 }

C# utf8和GBK,GB2312字符集互相轉換,代碼和注意點

如題,在此僅寫出 utf8 和 gbk 轉換的代碼,轉換為gb2312只需要將引號中的gbk替換為gb2312即可。

需要特別注意的是,至少在vs里編寫代碼時,如果使用gbk等字符集,必須加上這一行代碼:

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

否則就會報這種錯誤:

以下是全部代碼,記得要在文件開頭添加引用:using System.Text;

using System.Text;
...
public static string UTF8ToGBK(string text)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            try
            {
                Encoding utf8 = Encoding.UTF8;
                Encoding gbk = Encoding.GetEncoding("gbk");//Encoding.Default ,936
                byte[] temp = utf8.GetBytes(text);
                byte[] temp1 = Encoding.Convert(utf8, gbk, temp);
                string result = gbk.GetString(temp1);
                return result;
            }
            catch
            {
                return null;
            }
        }
        
public static string GBKToUTF8(string str)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            Encoding utf8;
            Encoding gbk;
            utf8 = Encoding.GetEncoding("utf-8");
            gbk = Encoding.GetEncoding("gbk");
            byte[] gb = gbk.GetBytes(str);
            gb = Encoding.Convert(gbk, utf8, gb);
            return utf8.GetString(gb);
        }

總結

原文鏈接:https://blog.csdn.net/qq_43024228/article/details/90901141

欄目分類
最近更新