汉字区位码---非常浅显的知识点
國標 GB2312-80 全部漢字與圖形符號排列成 94×94 的一張大表,每一行稱為一個“區”(01 區 ~ 94 區),每一列稱為一個“位”(01 位 ~ 94 位)。
區\位 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 … 94
01 、 。 · ˉ ˇ ¨ 〃 ‘ ’ “ ” 〔 〕 〈 … 〓
… … … … … … … … … … … … … … … … … …
16 啊 阿 埃 挨 哎 唉 哀 皚 癌 藹 矮 艾 礙 愛 隘 … 剝
17 薄 雹 保 堡 飽 寶 抱 報 暴 豹 鮑 爆 杯 碑 悲 … 炳
18 病 并 玻 菠 播 撥 缽 波 博 勃 搏 鉑 箔 伯 帛 … 猖
19 場 嘗 常 長 償 腸 廠 敞 暢 唱 倡 超 抄 鈔 朝 … 楚
20 礎 儲 矗 搐 觸 處 揣 川 穿 椽 傳 船 喘 串 瘡 … 逮
21 怠 耽 擔 丹 單 鄲 撣 膽 旦 氮 但 憚 淡 誕 彈 … 疊
22 丁 盯 叮 釘 頂 鼎 錠 定 訂 丟 東 冬 董 懂 動 … 二
23 貳 發 罰 筏 伐 乏 閥 法 琺 藩 帆 番 翻 樊 礬 … 服
24 浮 涪 福 袱 弗 甫 撫 輔 俯 釜 斧 脯 腑 府 腐 … 羹
… … … … … … … … … … … … … … … … … …
94
漢字的機內碼由高、低字節兩個字節組成,它們分別是區碼和位碼加 160 得到的。即:
高字節 = 區碼 + 160
低字節 = 位碼 + 160
·············································································································································
1、輸入漢字的代碼,使得輸出為漢字。
···································································································································································
2、輸入漢字 求其漢字代碼
#include<stdio.h>int main() {unsigned char high,low;int code;scanf("%c%c",&high,&low); code = (high - 160) * 100 + low - 160;printf("%04d\n",code);return 0; }
有兩處需要注意的關鍵點:
i.定義high,low 要用unsigned char ,即使數據類型如int不加unsigned 默認是signed, 但是對插入類型沒有標準的規定。
ii.printf("%04d\n",code);
其中的“04”不可去,這句話是:code不足四位前面補0,防止區碼為0x(01,02······)的數錯亂。
區號和位號分別加上160,再分別轉換成十六進制數,就成為四位的十六進制GB2312國家標準編碼(簡稱國標碼)。
····································································································································································
·································································································································································
總結
以上是生活随笔為你收集整理的汉字区位码---非常浅显的知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区位码,国标码,交换码,内码,外码
- 下一篇: vs2005下载,中文版,官方