C#生成漢字編碼原理
C#語言還是比較常見的東西,這里我們主要介紹C#生成漢字編碼原理,包括介紹.Net程序處理漢字編碼原理分析。
C#生成漢字編碼原理
到底怎么辦到隨機生成漢字的呢?漢字從哪里來的呢?是不是有個后臺數據表,其中存放了所需要的所有漢字,使用程序隨機取出幾個漢字組合就行了呢?使用后臺數據庫先將所有漢字存起來使用時隨機取出,這也是一種辦法,但是中文漢字有這么多,怎么來制作呢?其實可以不使用任何后臺數據庫,使用程序就能做到這一切。要知道如何生成漢字,就得先了解中文漢字的編碼原理。
1980年,為了使每一個漢字有一個全國統一的代碼,我國頒布了***個漢字編碼的國家標準: GB2312-80《信息交換用漢字編碼字符集》基本集,簡稱GB2312,這個字符集是我國中文信息處理技術的發展基礎,也是國內所有漢字系統的統一標準。到了后來又公布了國家標準GB18030-2000《信息交換用漢字編碼字符集基本集的擴充》,簡稱GB18030,編程時如果涉及到編碼和本地化的朋友應該對GB18030很熟悉。這是是我國繼GB2312-1980和GB13000-1993之后最重要的漢字編碼標準,同時也是未來我國計算機系統必須遵循的基礎性標準之一。
.Net程序處理漢字編碼原理分析
在.Net中可以使用System.Text來處理所有語言的編碼。在System.Text命名空間中包含眾多編碼的類,可供進行操作及轉換。其中的Encoding類就是重點處理漢字編碼的類。通過在.NET文檔中查詢Encoding類的方法我們可以發現所有和文字編碼有關的都是字節數組,其中有兩個很好用的方法:
◆Encoding.GetBytes ()方法將指定的 String 或字符數組的全部或部分內容編碼為字節數組
◆Encoding.GetString ()方法將指定字節數組解碼為字符串。
- using System;
- using System.Text;
- namespace ConsoleApplication
- {
- class ChineseCode
- {
- public static void Main()
- {
- //獲取GB2312編碼頁(表)
- Encoding gb=Encoding.GetEncoding("gb2312");
- //調用函數產生4個隨機中文漢字編碼
- object[] bytes=CreateRegionCode(4);
- //根據漢字編碼的字節數組解碼出中文漢字
- string str1=gb.GetString((byte[])Convert.ChangeType(bytes[0], typeof(byte[])));
- string str2=gb.GetString((byte[])Convert.ChangeType(bytes[1], typeof(byte[])));
- string str3=gb.GetString((byte[])Convert.ChangeType(bytes[2], typeof(byte[])));
- string str4=gb.GetString((byte[])Convert.ChangeType(bytes[3], typeof(byte[])));
- //輸出的控制臺
- Console.WriteLine(str1 + str2 +str3 +str4);
- }
以上介紹C#生成漢字編碼原理
【編輯推薦】