Bear's House
資訊科技

認識中文字元碼

 
 
 

首  頁

資訊科技

教育學習

有感而發

相關鏈結

批評指教

 

 

十二、GB 2312、GBK與GB 18030

本章完成於2005/02/14

(一)GB 2312系列標準

  信息交換用漢字代碼 (Code of Chinese ideogram set for information interchange)為中國大陸的中文交換碼國家標準,習慣上簡稱為國標碼。1980年初,國字整理小組公佈第一套中文字元碼CCCII (Chinese Character Code for Information Interchange), 對中國當局造成極大的壓力,於是倉促召集人手起草國標碼,於1981年公佈。第10章所介紹的CSIC是單一標準。相對的,國標碼並非單一的標準,而是涵蓋了多個先後公佈的標準,使用者難免會有查閱不便的困擾。國標碼的標碼格式和CSIC相同,但編碼結構卻不一樣。 換言之,國標碼也是依循ISO/IEC 2022的七位元94圖形字元碼延伸編碼結構,採雙位元組編碼,每一個位元組只使用21H至7EH的94個編碼位置。 第一版CSIC共有16個字面,而國標碼只有一個字面,因此它的編碼空間僅有94×94=8,836個編碼位置。

  國標碼編輯小組將全部的中文字區分為規範字(即中國官方所認可、公佈的標準字)與非規範字兩類,每一類中文字再劃分為若干個字元集。規範字部份分別收入基本集和第二、第四等偶數編號的輔助集,至於非規範字則分別收入第一、第三等奇數編號的輔助集。國標碼編輯小組原先的構想是:第一輔助集收錄基本集的異體字、第三輔助集收錄第二輔助集的異體字,依此類推。劃分字元集,主要是受限於國標碼的編碼空間,每一個字元集最多只能容納8,836個圖形字元。 國標碼並不像CSIC的做法一般,把各個字元集統合成單一標準,而是就每個字元集分別制訂為個別的標準。 中國的國家標準總局先後公佈了國標碼的基本集(原編號為GB 2301,後更改為GB2312-80)、第二輔助集(編號為GB 7589-87)、第四輔助集(編號為GB 2312-80)以及輔助集(編號為GB/T 12345-90)。 【註:中國直接以英文字母兼為漢語拼音字母,與國語注音符號可一一對應,在此G、B為漢語拼音字母,對應於注音符號的ㄍ和ㄅ,GB連用意指國標, 編號最後的-xx表示該標準起草或送審的年份。】 GB/T 12345所收錄的主要是基本集的對應繁體字,照原始構想其實應該稱做第一輔助集。

  國標碼的基本集(GB2312-80)總共收錄了7,445個圖形字元, 包括:682個符號以及6,763個中文字。符號的編碼範圍從2121H至296FH,其內容為:一個空格、201個一般符號(包含標點符號、數學符號、單位符號、製表符號等)、60個數字序列符號、十個阿拉伯數字、12個羅馬數字、52個大小寫英文字母、 169個日文平假名和片假名、48個大小寫希臘字母、66個大小寫俄文字母、用以補充漢語拼音字母的26個漢語拼音符號、37個國語注音符號,以及一些空碼。基本集的中文字被區分成兩級,似乎是依據使用頻率加以劃分的。 第一級中文字共計3,755個,其編碼範圍
從3021H到5779H;第二級中文字總計3,008個,其編碼範圍從5821H到777EH。 基本集的中文字排序方式相當特別,第一級中文字先依其注音的漢字拼音字母排列,發音相同者再依筆順排列排列【註:筆順依序為橫、直、撇、點、折】。第二級中文字的排序方式與CCCII類似, 先依部首排列,部首相同者依筆劃數由小而大排列,同部首與筆劃數者再依筆順排列。

  國標碼的輔助集(GB/T12345-90)總共收錄了7,583個圖形字元,包括:717個符號以及6,866個中文字。 符號的編碼範圍與基本集相同,內容則除了基本集原有的符號之外又增加了29個使用於直行中文文字的標點符號,以及六個漢語拼音符號。輔助集的中文字,只是基本集裡的簡體字替換對應的繁體字,以及增補了 103個中文字。增補的中文字安放於編碼位置7821H至7929H,緊跟在原第二級中文字之後。因此,GB/T12345-90可以說是繁體字版的GB2312-80。國標碼的第二輔助集(GB7589-87)收錄了基本集之外的7,237個中文字,其編碼範圍從3021H到7C7DH。 至於第四輔助集(GB7590-87),則是收錄基本集與第二輔助集之外7,039個中文字,編碼範圍從3021H到7A74H。 第二和第四輔助集的中文字排序方式與基本集第二級中文字的排序方法相同,都是依先部首、其次筆劃數(不含部首)、再其次筆順的方式排列的。

  國標碼的編碼規則頗有可議之處。首先,制訂中文碼的時候,不應選擇有岐義的(ambiguous)屬性做為中文字排序的依據。 舉例來說,當一個中文字的字形確定之後,它的部首和筆劃數也就跟著確定了,無論採用先部首後筆劃數或先筆劃數後部首的規則,每個中文字排序後的字序都會是確定不變的(也就是沒有歧義)。但是,一字多音的中文字為數不少,以發音排序時,中文字的字序將會因選擇不同的發音而改變(這就是歧義)。所以編訂中文碼時,不宜採用發音來為中文字排序。其次,國標碼將基本集和輔助集的中文字劃分為兩級,分別採用不同的排序規則,其結果與不排序無異。舉例而言,當一群名單依字元碼排序時,其結果將會變得很奇怪,既不是依發音序排列、也不是依部首筆劃數排列。第三,中文字多異體字,常用中文字往往會有一個以上的異體字,因此以對應的奇數編號輔助集收錄基本集和偶數編號輔助集的繁體字或異體字,並不可行。例如, 中國將「台」、「臺」和「颱」三個字簡併成一個「台」字,在輔助集裡與基本集的「台」字同碼處不論選取任何一個異體字,都至少會遺漏另一個異體字。

  國標碼的基本集和輔助集,相當於CSIC的字面。如同CSIC,使用國標碼也得藉助ISO2022的逸出順序控制符指定字元集和利用調用控制符切換字元集才行。 國標碼的字元集指定與切換方式如圖三.廿四所示。 依據GB2312-80的規定,需先利用逸出順序控制符"ESC 24H 41H" 指定將基本集載入備用字元集G0,才可經由調用控制符將基本集切換載入現用字元集區。根據GB7589-87、GB2312-80及GB/T12345-90的規定, 可利用逸出順序控制符"ESC 24H 29H f"將三個輔助集之一載入G1、利用控制符"ESC 24H 2AH f"將某個輔助集載入G2,或利用控制符"ESC 24H 2BH f"將所需要的輔助集載入G3。輔助集被載入G1、G2和G3之後,可再依需求藉助調用控制符SO切換現用字元集為G1裡的輔助集, 利用控制符LS2切換為G2裡的輔助集(或利用控制符SS2暫時選擇G2輔助集的某個字元),或者使用控制符LS3切換為G2裡的輔助集(或使用控制符SS3暫時選擇G3輔助集的某一個字元)。

  國標碼的字元集指定與切換方式,表面上似乎符合 ISO2022的相關規定,但事實上卻隱藏了兩個問題。第一,GB2312-80所規定的逸出順序控制符"ESC 24H 41H"與CCCII的規定衝突。ISO2022所規定的逸出順序控制碼,除了少數供使用者自行選用者之外,其餘的都必須依規定向ISO登記。控制符"ESC 24H 41H"屬於必須登記者之列。CCCII公佈在前,並且已經向ISO登記,GB2312-80所規定的"ESC 24H 41H"在國際上其實是不合法的逸出順序控制符。第二,逸出順序控制符可說是字元集及其編碼的身份證字號,任何交換碼都必須賦予每個字面或字元集一個唯一且完整明確的逸出順序控制符,否則使用者將無所適從。就以CSIC第一字面的逸出順序控制符"ESC 24H 29H 47H"為例,當中的第二個位元組24H表示該字元集為多位元組編碼,第三位元組29H表示該字元集應載入G1, 終結位元組47H經ISO認可為專指CSIC第一字面。GB7589-87、GB2312-80及GB/T12345-90不明確的規定各自輔助集的逸出順序控制符,卻要求使用者自行約定。其結果可想而知,針對相同的輔助集,不同團體的使用者極可能選擇相異的第三和終結位元組,使得彼此間無法識別對方的字元集和碼,資料無從或難以交換。如此一來,國標碼的交換碼角色將大打折扣。

 

(二)GBK

  信息交換用漢字代碼 (Code of Chinese ideogram set for information interchange)為中國大陸的中文交換碼國家標準,習慣上簡稱為國標碼。1980年初,國字整理小組公佈第一套中文字元碼CCCII (Chinese Character Code for Information Interchange), 對中國當局造成極大的壓力,於是倉促召集人手起草國標碼,於1981年公佈。第10章所介紹的CSIC是單一標準。相對的,國標碼並非單一的標準,而是涵蓋了多個先後公佈的標準,使用者難免會有查閱不便的困擾。國標碼的標碼格式和CSIC相同,但編碼結構卻不一樣。 換言之,國標碼也是依循ISO/IEC 2022的七位元94圖形字元碼延伸編碼結構,採雙位元組編碼,每一個位元組只使用21H至7EH的94個編碼位置。 第一版CSIC共有16個字面,而國標碼只有一個字面,因此它的編碼空間僅有94×94=8,836個編碼位置。

 

(三)GB 18030

  信息交換用漢字代碼 (Code of Chinese ideogram set for information interchange)為中國大陸的中文交換碼國家標準,習慣上簡稱為國標碼。1980年初,國字整理小組公佈第一套中文字元碼CCCII (Chinese Character Code for Information Interchange), 對中國當局造成極大的壓力,於是倉促召集人手起草國標碼,於1981年公佈。第10章所介紹的CSIC是單一標準。相對的,國標碼並非單一的標準,而是涵蓋了多個先後公佈的標準,使用者難免會有查閱不便的困擾。國標碼的標碼格式和CSIC相同,但編碼結構卻不一樣。 換言之,國標碼也是依循ISO/IEC 2022的七位元94圖形字元碼延伸編碼結構,採雙位元組編碼,每一個位元組只使用21H至7EH的94個編碼位置。 第一版CSIC共有16個字面,而國標碼只有一個字面,因此它的編碼空間僅有94×94=8,836個編碼位置。

上一章  返回目錄  下一章