GB2312歷史回顧
GB2312編碼范圍:A1A1-FEFE,其中漢字編碼范圍:B0A1-F7FE。
GB2312編碼是第一個漢字編碼國家標准,由中國國家標准總局1980年發布,1981年5月1日開始使用。GB2312編碼共收錄漢字6763個,其中一級漢字3755個,二級漢字3008個。同時,GB2312編碼收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的682個全角字符。
分區表示
GB2312編碼對所收錄字符進行了“分區”處理,共94個區,每區含有94個位,共8836個碼位。這種表示方式也稱為區位碼。
01-09區收錄除漢字外的682個字符。
10-15區為空白區,沒有使用。
16-55區收錄3755個一級漢字,按拼音排序。
56-87區收錄3008個二級漢字,按部首/筆畫排序。
88-94區為空白區,沒有使用。
舉例來說,“啊”字是GB2312編碼中的第一個漢字,它位於16區的01位,所以它的區位碼就是1601。
雙字節編碼
GB2312規定對收錄的每個字符采用兩個字節表示,第一個字節為“高字節”,對應94個區;第二個字節為“低字節”,對應94個位。所以它的區位碼范圍是:0101-9494。區號和位號分別加上0xA0就是GB2312編碼。例如最后一個碼位是9494,區號和位號分別轉換成十六進制是5E5E,0x5E+0xA0=0xFE,所以該碼位的GB2312編碼是FEFE。
GB2312編碼范圍:A1A1-FEFE,其中漢字的編碼范圍為B0A1-F7FE,第一字節0xB0-0xF7(對應區號:16-87),第二個字節0xA1-0xFE(對應位號:01-94)。
若要查詢具體字符的編碼請前往:漢字字符集編碼查詢。
GB2312編碼格式采用的是區位碼格式:GB2312為雙字節編碼,其中第一個字節為高字節,對應1-94個區,第二個字節為低字節,對應1-94個位。我們知道一個字節對於8位,8位的數可以表示的范圍0-256,但是這里采用的范圍是1-94,1-94是一個規定或者說是規范。當區號和位號分別加上0xA0就是GB2312編碼,這也是一個規定。
我們再來捋一下區號和位號的組合體:其范圍0101 - 9494。
接下來再加上一個0xA0十六進制數變成GB2312編碼:高字節的最小數1轉換成GB2312碼:1(10) + 0xA0 = 0x01 + 0xA0 = 0xA1,高字節的最大數94轉GB2312碼:94(10) + 0xA0 = 0x5E + 0xA0 = 0xFE
得GB2312編碼范圍:A1A1 - FEFE