一、GBK誕生的因原
我們知道,隨著信息化技術的發展,為了使我國漢字的信息化處理與通信,我國在1980年首次發布了第一個漢字編碼字符集的國家標準,即GB 2312-1980《信息交換用漢字編碼字符集 基本集》。之所以稱為基本集,是因為該標準僅僅收錄的是我們日常最為常用的6763個漢字。當初的思路是以后陸續發布其漢字編碼字符集的輔助集的標準,來逐步擴充其它漢字,包括不同應用場景的漢字(如繁體字、地名用字以及在古籍整理、古典文獻研究方面的應用等),以適應我國更多漢字的信息化編碼。在1995年前,我國相繼發布有5個輔助集的標準(注:我國一共發布有7個輔助集的標準)。然而,此種情況又帶來了一些問題,如字符編碼位置安排的問題;多個標準給使用者帶來使用不便的問題等。這就是早期我國漢字編碼字符集的一個現狀,即因原一。
欲具體了解上述我國漢字編碼字符集標準介紹的請進入:GB 2312(基本集);輔助集
其因原二是,在上世紀九十年代初,美國一些企業聯合發布了一種字符集編碼標準,被稱為“Unicode”,被ISO接收后發布了稱為“通用多八位編碼字符集(UCS)”(標準編號為ISO/EEC 10646)。其中。Unicode/UCS收錄了大量中日韓(CJK)所使用的漢字,稱為CJK統一漢字。
欲具體了解Unicode/UCS標準介紹的請進入:UCS;Unicode
其因原三是,微軟曾發布的一個字符編碼標準叫CP 936字碼表(Code Page 936),其標準內容同GB 2312-1980,為了收錄Unicode/UCS中的CJK統一漢字,又發布了CP 936字碼表擴展,使得微軟的操作系統在我國得到了廣泛的應用。
因此,我國亟待需要一個統一的漢字字符集編碼標準,能同時兼容并支持GB 3212-1980(應包括輔助集)和Unicode/UCS,以集中收納更多現有漢字字符集。
二、GBK的發布與廢止
鑒于上述因原,我國在1995年12月15日,參照微軟公司的CP 936擴展,結合我國漢字的當時情況(各種字典/辭源的簡化字、繁體字、生僻字等),發布了《漢字內碼擴展規范(GBK)》(1.0版),簡稱GBK,意為國標(GB 2312)漢字編碼字符集的擴充(K是“擴充”的漢語拼音第一個字母)。GBK 向下與 GB 2312 編碼兼容,向上支持 ISO 10646.1:1993國際標準(我國等同采用(IDT)所發布的標準為GB 13000.1-1993),是前者向后者過渡過程中的一個承上啟下的產物,GBK大大擴充了GB 2312字匯的漢字編碼字符集。
漢字內碼擴展規范(Chinese Internal Code Extension Specification),當時并沒有以國家標準(GB)發布,而是以部門文件的形式發布,即由當時的電子工業部和國家技術監督局聯合以“技監標函[1995] 229號”文件的形式發布的,屬于技術規范指導性文件。GBK雖然是一個技術指導性文件,但其地位成為事實上的一個國家標準,因為在當時它是我國字匯最多的一個漢字字符集,且向上支持國際標準(Unicode/UCS)、向下兼容我國早期標準(基本集及輔助集)。
當時GBK之所以沒有以國家標準頒布,是因為GBK所規范的內容并不十分成熟,包括編碼體系的設計、碼位的安排、兼容性的安排、漢字的來源等等。只有待這些技術問題相對成熟后,再發布成我國的一個國家標準。于是,到了2000年,我國就發布了國家標準GB 18030-2000《信息技術 信息交換用漢字編碼字符集 基本集的擴充》,它代替了《漢字內碼擴展規范(GBK,1.0版)》(技監標函[1995] 229號),此時,GBK(1.0版)完成了過渡性規范的使命。
欲詳細了解GB 18030標準介紹的請進入。
三、GBK的內容簡介
1、圖形字符
在GBK字符集中,一共有21 003個漢字和883個圖形符號,它與GB 2312國標漢字字符集對應的事實上的內碼標準兼容。除了GB 2312中的全部漢字(GBK安排稱為GBK/2)和符號(稱為GBK/1)之外,還收錄了包括繁體字在內的大量漢字(GBK/4與GBK/3)和符號(GBK/5),例如“計算機係”等繁體漢字和“冃冄冇鎔”等生僻的漢字,在字匯一級支持ISO/IEC 10646-1(即GB 13000.1)的全部20902個中日韓(CJK)漢字。GBK所收錄的字匯情況被匯總于下表3-1-1中;且GBK 對字形作了如下表3-1-2的規定。
表 3-1-1:GBK所收錄的字匯情況
表 3-1-2:GBK 對字形的規定
2、編碼方法
GBK字符集中的每一個字符都采用雙字節表示,總的編碼范圍為8140~FEFE,首字節在81與FE之間,尾字節在40與FE之間(剔除xx7F一條線不安排字符),總計23940個碼位,共收入21886個漢字和圖形符號,未使用的區域作為用戶自定義區。GBK漢字在雙字節代碼空間中的碼位詳見下圖3-2。GBK的區位安排說明詳見下表3-2。
圖 3-2:GBK漢字在雙字節代碼空間中的碼位示意圖
表 3-2:GBK的區位安排說明
《漢字內碼擴展規范(GBK)》(1.0版)的發布,當時的中文版的WIN95、WIN98、WINDOWS NT以及WINDOWS 2000、WINDOWS XP、WIN 7等都支持GBK編碼方案。成為了我國當時應用最廣的漢字字符集。
欲進一步了解我國漢字編碼字符集介紹的請進入。