網站首頁 編程語言 正文
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
相關推薦
- 2022-03-16 VS2022?安裝.NET4.5目標包的方法_實用技巧
- 2023-02-12 Jupyter?notebook如何實現打開數據集_python
- 2022-11-22 Kotlin對象的懶加載方式by?lazy?與?lateinit?異同詳解_Android
- 2022-12-08 Python如何遍歷numpy數組_python
- 2022-10-16 python讀取Windows注冊表的示例代碼_python
- 2022-04-26 jQuery實現表格的數據拖拽_jquery
- 2022-04-04 vscode中將.art文件與html文件相關聯
- 2021-12-04 Qt下監測內存泄漏的方法_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支