國標碼:(“國家標准信息交換用漢字編碼”(gb2312-80標准))
國標碼是指1980年中國制定的用於不同的具有漢字處理功能的計算機系統間交換漢字信息時使用的編碼。國際碼是二字節碼,用兩個七位二進制數編碼表示一個漢字。目前國標碼收入6763個漢字,其中一級漢字(最常用)3755個,二級漢字3008個,另外還包括682個西文字符、圖符。一級漢字為常用字,按拼音順序排列,二級漢字為次常用字,按部首排列。國標碼的范圍是2121h—7e7eh。
國標碼是一個四位十六進制數,區位碼是一個四位的十進制數,每個國標碼或區位碼都對應著一個唯一的漢字或符號,但因為十六進制數我們很少用到,所以大家常用的是區位碼,它的前兩位叫做區碼,後兩位叫做位碼
區位碼:將gb2312—80的全部字符集組成一個94×94的方陣,每一行稱為一個“區”,編號為0l~94;每一列稱為一個“位”,編號為0l~94,這樣得到gb2312—80的區位圖,用區位圖的位置來表示的漢字編碼,稱為區位碼。
機內碼:為了避免ascii碼和國標碼同時使用時產生二義性問題,大部分漢字系統都采用將國標碼每個字節高位置1作為漢字機內碼。這樣既解決了漢字機內碼與西文機內碼之間的二義性,又使漢字機內碼與國標碼具有極簡單的對應關系。
漢字交換碼:漢字信息處理系統之間或通信系統之間傳輸信息時,對每一個漢字所規定的統一編碼,我國已指定漢字交換碼的國家標准“信息交換用漢字編碼字符集——基本集”,代號為gb2312—80,又稱為“國標碼”。
漢字機內碼、國標碼和區位碼三者之間的關系:
區位碼(十進制)的兩個字節分別轉換為十六進制後加20h得到對應的國標碼;機內碼是漢字交換碼(國標碼)兩個字節的最高位分別加1,即漢字交換碼(國標碼)的兩個字節分別加80h得到對應的機內碼;區位碼(十進制)的兩個字節分別轉換為十六進制後加a0h得到對應的機內碼。
(1)區位碼先轉換成十六進制數表示 (2)國標碼=區位碼的十六進制表示+2020h (3)機內碼=國標碼+8080h=區位碼+a0a0h
舉例:
以漢字“大”為例,“大”字的區內碼為2083
1、區號為20,位號為83
2、將區位號2083轉換為十六進制表示為1453h
3、1453h+2020h=3473h,得到國標碼3473h
4、3473h+8080h=b4f3h,得到機內碼為b4f3h
|
|