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