技術 > 信息交換用漢字編碼字符集
目錄
No. 1
  《信息交換用漢字編碼字符集》是由我國國傢標準總局1980年發佈,1981年5月1日開始實施的一套國傢標準,標準號是gb 2312—1980。它是計算機可以識別的編碼,適用於漢字處理、漢字通信等係統之間的信息交換。基本集共收入漢字6763個和非漢字圖形字符682個。整個字符集分成94個區,每區有94個位。每個區位上衹有一個字符,因此可用所在的區和位來對漢字進行編碼,稱為區位碼。
  這個碼是唯一的,不會有重碼字。把換算成十六進製的區位碼加上2020h,就得到國標碼。國標碼加上8080h,就得到常用的計算機機內碼。1995年又頒布了《漢字編碼擴展規範》(gbk)。gbk與gb 2312—1980國傢標準所對應的內碼標準兼容,同時在字匯一級支持iso/iec10646—1和gb 13000—1的全部中、日、韓(cjk)漢字,共計20902字。信息交換用漢字編碼字符集和漢字輸入編碼之間的關係是,根據不同的漢字輸入方法,通過必要的設備嚮計算機輸入漢字的編碼,計算機接收之後,先轉換成信息交換用漢字編碼字符,這時計算機就可以識別並進行處理;漢字輸出是先把機內碼轉成漢字編碼,再發送到輸出設備。
GB 2312
  GB 2312或GB 2312-80是一個簡體中文字符集的中國國傢標準,全稱為《信息交換用漢字編碼字符集•基本集》,又稱為GB0,由中國國傢標準總局發佈,1981年5月1日實施。GB2312編碼通行於中國大陸;新加坡等地也采用此編碼。中國大陸幾乎所有的中文係統和國際化的軟件都支持GB 2312。
  GB 2312標準共收錄6763個漢字,其中一級漢字3755個,二級漢字3008個;同時,GB 2312收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西裏爾字母在內的682個全角字符。
  GB 2312的出現,基本滿足了漢字的計算機處理需要,它所收錄的漢字已經覆蓋中國大陸99.75%的使用頻率。
  對於人名、古漢語等方面出現的罕用字,GB 2312不能處理,這導致了後來GBK及GB 18030漢字字符集的出現。
分區表示
  GB 2312中對所收漢字進行了“分區”處理,每區含有94個漢字/符號。這種表示方式也稱為區位碼。
  • 01-09區為特殊符號。
  • 16-55區為一級漢字,按拼音排序。
  • 56-87區為二級漢字,按部首/筆畫排序。
  10-15區及88-94區則未有編碼。
  舉例來說,“啊”字是GB2312之中的第一個漢字,它的區位碼就是1601。
字節結構
  在使用GB2312的程序中,通常采用EUC儲存方法,以便兼容於ASCII。瀏覽器編碼表上的“GB2312”,通常都是指“EUC-CN”表示法。
  每個漢字及符號以兩個字節來表示。第一個字節稱為“高位字節”(也稱“區字節)”,第二個字節稱為“低位字節”(也稱“位字節”)。
  “高位字節”使用了0xA1-0xF7(把01-87區的區號加上0xA0),“低位字節”使用了0xA1-0xFE(把01-94加上 0xA0)。 由於一級漢字從16區起始,漢字區的“高位字節”的範圍是0xB0-0xF7,“低位字節”的範圍是0xA1-0xFE,占用的碼位是 72*94=6768。其中有5個空位是D7FA-D7FE。
  例如“啊”字在大多數程序中,會以兩個字節,0xB0(第一個字節) 0xA1(第二個字節)儲存。區位碼=區字節+位字節(與區位碼對比:0xB0=0xA0+16,0xA1=0xA0+1)。