1 GB2312-80
GB2312碼是中華人民共和國國家漢字信息交換用編碼,全稱《信息交換用漢字編碼字符集——基本集》,由國家標(biāo)準(zhǔn)總局發(fā)布,1981年5月1日實施,通行于大陸。新加坡等地也使用此編碼。
GB2312收錄簡化漢字及符號、字母、日文假名等共7445個圖形字符,其中漢字占6763個。GB2312規(guī)定“對任意一個圖形字符都采用兩個字節(jié)表示,每個字節(jié)均采用七位編碼表示”,習(xí)慣上稱第一個字節(jié)為“高字節(jié)”,第二個字節(jié)為“低字節(jié)”。
GB2312將代碼表分為94個區(qū),對應(yīng)第一字節(jié);每個區(qū)94個位,對應(yīng)第二字節(jié),兩個字節(jié)的值分別為區(qū)號值和位號值加32(2OH),因此也稱為區(qū)位碼。01-09區(qū)為符號、數(shù)字區(qū),16-87區(qū)為漢字區(qū),10-15區(qū)、88-94區(qū)是有待進(jìn)一步標(biāo)準(zhǔn)化的空白區(qū)。GB2312將收錄的漢字分成兩級:第一級是常用漢字計3755個,置于16-55區(qū),按漢語拼音字母/筆形順序排列;第二級漢字是次常用漢字計3008個,置于56-87區(qū),按部首/筆畫順序排列。故而GB2312最多能表示6763個漢字。
GB2312的編碼范圍為2121H-777EH,與ASCII有重疊,通行方法是將GB碼兩個字節(jié)的最高位置1以示區(qū)別。
2 GBK
GB2312-80僅收漢字6763個,這大大少于現(xiàn)有漢字,隨著時間推移及漢字文化的不斷延伸推廣,有些原來很少用的字,現(xiàn)在變成了常用字,例如:朱镕基的“镕”字,未收入GB2312-80,現(xiàn)在大陸的報業(yè)出刊只得使用(金+容)、(金容)、(左金右容)等來表示,形式不一而同,這使得表示、存儲、輸入、處理都非常不方便,對于搜索引擎等軟件的構(gòu)造來說也不是好消息,而且這種表示沒有統(tǒng)一標(biāo)準(zhǔn)。從我們對人民日報98年數(shù)據(jù)的處理過程中,得出這樣的經(jīng)驗:回填外字最困難的就是如何得到這種表示方法的集合。
為了解決這些問題,以及配合UNICODE的實施,全國信息技術(shù)化技術(shù)委員會于1995年12月1日《漢字內(nèi)碼擴(kuò)展規(guī)范》。GBK向下與GB2312 完全兼容,向上支持ISO 10646國際標(biāo)準(zhǔn),在前者向后者過渡過程中起到的承上啟下的作用。GBK 亦采用雙字節(jié)表示,總體編碼范圍為8140-FEFE之間,首字節(jié)在81-FE之間,尾字節(jié)在40-FE之間,剔除XX7F一條線。
GBK共收入21886個漢字和圖形符號,包括:
* GB2312中的全部漢字、非漢字符號。
* BIG5中的全部漢字。
* 與ISO 10646相應(yīng)的國家標(biāo)準(zhǔn)GB13000中的其它CJK漢字,以上合計20902個漢字。
* 其它漢字、部首、符號,共計984個。
微軟公司自Windows 95 簡體中文版開始支持GBK代碼,但目前的多數(shù)搜索引擎都不能很好地支持GBK漢字。
GBK編碼區(qū)分三部分:
* 漢字區(qū) 包括
GBK/2:OXBOA1-F7FE, 收錄GB2312漢字6763個,按原序排列;
GBK/3:OX8140-AOFE,收錄CJK漢字6080個;
GBK/4:OXAA40-FEAO,收錄CJK漢字和增補的漢字8160個。
* 圖形符號區(qū) 包括
GBK/1:OXA1A1-A9FE,除GB2312的符號外,還增補了其它符號
GBK/5:OXA840-A9AO,擴(kuò)除非漢字區(qū)。
* 用戶自定義區(qū)
即GBK區(qū)域中的空白區(qū),用戶可以自己定義字符。
3 GB18030
GB18030 是最新的漢字編碼字符集國家標(biāo)準(zhǔn), 向下兼容 GBK 和 GB2312 標(biāo)準(zhǔn)。 GB18030 編碼是一二四字節(jié)變長編碼。一字節(jié)部分從 0x0~0x7F 與 ASCII 編碼兼容。 二字節(jié)部分, 首字節(jié)從 0x81~0xFE, 尾字節(jié)從 0x40~0x7E 以及 0x80~0xFE, 與 GBK標(biāo)準(zhǔn)基本兼容。 四字節(jié)部分, 第一字節(jié)從 0x81~0xFE, 第二字節(jié)從 0x30~0x39, 第三和第四字節(jié)的范圍和前兩個字節(jié)分別相同。 四字節(jié)部分覆蓋了從 0x0080 開始, 除去二字節(jié)部分已經(jīng)覆蓋的所有 Unicode 3.1 碼位。也就是說, GB18030 編碼在碼位空間上做到了與 Unicode 標(biāo)準(zhǔn)一一對應(yīng),這一點與 UTF-8 編碼類似。
目前最新的 glibc 2.2.x 系列已經(jīng)全面支持了 GB18030 Locale 和 GB18030 與 UCS-4 之間的編碼轉(zhuǎn)換, 也就是說在系統(tǒng)層上 Linux 已經(jīng)可以支持 GB18030 標(biāo)準(zhǔn)了。 下面問題的關(guān)鍵就是怎樣讓 XFree86 窗口系統(tǒng)也支持 GB18030 標(biāo)準(zhǔn)。
4 BIG5
BIG5是通行于臺灣、香港地區(qū)的一個繁體字編碼方案。雖然存在一些瑕疵,但廣泛應(yīng)用于電腦行業(yè),尤其是互聯(lián)網(wǎng)中,從而成為一種事實上的行業(yè)標(biāo)準(zhǔn)。
1983年10月,臺灣國家科學(xué)委員會、教育部國語推行委員會、中央標(biāo)準(zhǔn)局、行政院共同制定了《通用漢字標(biāo)準(zhǔn)交換碼》,后經(jīng)修訂于1992年5月公布,更名為《中文標(biāo)準(zhǔn)交換碼》,BIG5是臺灣資訊工業(yè)策進(jìn)會根據(jù)以上標(biāo)準(zhǔn)制定的編碼方案。
BIG5碼是雙字節(jié)編碼方案,其中第一個字節(jié)的值在OXAO-OXFE之間,第二個字節(jié)在OX40-OX7E和OXA1-OXFE之間。
BIG5收錄13461個漢字和符號,包括:
* 符號408個,編碼位置A140-A3BE
* 常用字5401個,編碼位置A440-C67E,包括臺灣教育部頒布的《常用國字標(biāo)準(zhǔn)字體表》的全部漢字4808個,臺灣教科書常用字587個,異體字6個。
* 次常用字7652個,編碼位置C940-F9D5,包括臺灣教育部頒布的《次常用國字標(biāo)準(zhǔn)字體表》的全部漢字6341個,《罕用國字標(biāo)準(zhǔn)字體表》中使用頻率較高的字1311個。