GB2312入门
? ?? 區位碼是四位的十進制數字,是GB2312國標碼中的分區表示方法,區位碼的前兩位數是“區號”,后兩位數是“位號”。區號和位號分別加上160,再分別轉換成十六進制數,就成為四位的十六進制GB2312國家標準編碼(簡稱國標碼)。
區位碼對于普通用戶基本用不上,曾經的區位碼輸入法也是20世紀還沒有中文輸入法時隨GB2312字符集編碼誕生的。區位碼與文字的對應關系完全依靠死記硬背,要全部記住是不現實的。后來隨著音碼、形碼等中文輸入法的興起,區位碼輸入法逐漸被棄用,現在,只是在一些特殊條件下被使用。
區位碼把GB2312字符集分為94個區,每區含有94個位,共8836個碼位,其中部分碼位未安排字符。關于區位碼和GB2312國標碼的詳細描述請閱讀 GB2312 編碼。
GB2312編碼范圍:A1A1-FEFE,其中漢字編碼范圍:B0A1-F7FE。
GB2312編碼是第一個漢字編碼國家標準,由中國國家標準總局1980年發布,1981年5月1日開始使用。GB2312編碼共收錄漢字6763個,其中一級漢字3755個,二級漢字3008個。同時,GB2312編碼收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的682個全角字符。
分區表示
GB2312編碼對所收錄字符進行了“分區”處理,共94個區,每區含有94個位,共8836個碼位。這種表示方式也稱為區位碼。
01-09區收錄除漢字外的682個字符。
10-15區為空白區,沒有使用。
16-55區收錄3755個一級漢字,按拼音排序。
56-87區收錄3008個二級漢字,按部首/筆畫排序。
88-94區為空白區,沒有使用。
舉例來說,“啊”字是GB2312編碼中的第一個漢字,它位于16區的01位,所以它的區位碼就是1601。
雙字節編碼
GB2312規定對收錄的每個字符采用兩個字節表示,第一個字節為“高字節”,對應94個區;第二個字節為“低字節”,對應94個位。所以它的區位碼范圍是:0101-9494。區號和位號分別加上0xA0就是GB2312編碼。例如最后一個碼位是9494,區號和位號分別轉換成十六進制是5E5E,0x5E+0xA0=0xFE,所以該碼位的GB2312編碼是FEFE。
GB2312編碼范圍:A1A1-FEFE,其中漢字的編碼范圍為B0A1-F7FE,第一字節0xB0-0xF7(對應區號:16-87),第二個字節0xA1-0xFE(對應位號:01-94)。
若要查詢具體字符的編碼請前往:漢字字符集編碼查詢。
?
字模3生成字符集中的偏移量計算法
字符集偏移量地址=(H-0xB0)*188+(L-0xA1)*2
其中H是漢字的高位,區碼
其中L是漢字的低位,位碼
字符集偏移量地址指該漢字在GB2312.TXT文件的偏移量
比如GB2312.txt的最后一個漢字是“齄”,其內碼為0xF7FE,
因此H=0xF7,L=0xFE
(0xF7-0xB0)*188+(0xFE-0xA1)*2=0x34DE
正好是“齄”在GB2312.txt中的偏移量,您可以用UltraEdit來驗證。
=============================================================
有了字符集偏移量地址,就可以計算字庫的尋址地址,即:
字庫的尋址地址=(字符集偏移量地址/2)*單字模大小字節數
? ? ? ? ? ? ? =[(H-0xB0)*94+(L-0xA1)]*單字模大小字節數
比如16×16點陣的字模,其單字模大小的字節數是32字節
則“齄”在16×16點陣的GB2312字庫中的尋址地址
=[(0xF7-0xB0)*94+(0xFE-0xA1)]*32
=0x34DE0
?
GB2312編碼表
中華人民共和國國家標準
信息交換用漢字編碼字符集
基 本 集
GB 2312-80
01 0 1 2 3 4 5 6 7 8 9
0 、 。 · ˉ ˇ ¨ 〃 々
1 — ~ ‖ … ‘ ’ “ ” 〔 〕
2 〈 〉 《 》 「 」 『 』 〖 〗
3 【 】 ± × ÷ ∶ ∧ ∨ ∑ ∏
4 ∪ ∩ ∈ ∷ √ ⊥ ∥ ∠ ⌒ ⊙
5 ∫ ∮ ≡ ≌ ≈ ∽ ∝ ≠ ≮ ≯
6 ≤ ≥ ∞ ∵ ∴ ♂ ♀ ° ′ ″
7 ℃ $ ¤ ¢ £ ‰ § № ☆ ★
8 ○ ● ◎ ◇ ◆ □ ■ △ ▲ ※
9 → ← ↑ ↓ 〓
02 0 1 2 3 4 5 6 7 8 9
0 ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ
1 ⅹ ⒈ ⒉ ⒊
2 ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔
3 ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ⑴ ⑵ ⑶
4 ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀
5 ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ① ② ③
6 ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ㈠
7 ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
8 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ
9 Ⅹ Ⅺ Ⅻ
03 0 1 2 3 4 5 6 7 8 9
0 ! " # ¥ % & ' ( )
1 * + , - . / 0 1 2 3
2 4 5 6 7 8 9 : ; < =
3 > ? @ A B C D E F G
4 H I J K L M N O P Q
5 R S T U V W X Y Z [
6 \ ] ^ _ ` a b c d e
7 f g h i j k l m n o
8 p q r s t u v w x y
9 z { | }  ̄
04 0 1 2 3 4 5 6 7 8 9
0 ぁ あ ぃ い ぅ う ぇ え ぉ
1 お か が き ぎ く ぐ け げ こ
2 ご さ ざ し じ す ず せ ぜ そ
3 ぞ た だ ち ぢ っ つ づ て で
4 と ど な に ぬ ね の は ば ぱ
5 ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ
6 ぼ ぽ ま み む め も ゃ や ゅ
7 ゆ ょ よ ら り る れ ろ ゎ わ
8 ゐ ゑ を ん
9
05 0 1 2 3 4 5 6 7 8 9
0 ァ ア ィ イ ゥ ウ ェ エ ォ
1 オ カ ガ キ ギ ク グ ケ ゲ コ
2 ゴ サ ザ シ ジ ス ズ セ ゼ ソ
3 ゾ タ ダ チ ヂ ッ ツ ヅ テ デ
4 ト ド ナ ニ ヌ ネ ノ ハ バ パ
5 ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ
6 ボ ポ マ ミ ム メ モ ャ ヤ ュ
7 ユ ョ ヨ ラ リ ル レ ロ ヮ ワ
8 ヰ ヱ ヲ ン ヴ ヵ ヶ
9
06 0 1 2 3 4 5 6 7 8 9
0 Α Β Γ Δ Ε Ζ Η Θ Ι
1 Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ
2 Υ Φ Χ Ψ Ω
3 α β γ δ ε ζ η
4 θ ι κ λ μ ν ξ ο π ρ
5 σ τ υ φ χ ψ ω
6 ︵ ︶ ︹ ︺ ︿ ﹀
7 ︽ ︾ ﹁ ﹂ ﹃ ﹄ ︻ ︼
8 ︷ ︸ ︱ ︳ ︴
9
07 0 1 2 3 4 5 6 7 8 9
0 А Б В Г Д Е Ё Ж З
1 И Й К Л М Н О П Р С
2 Т У Ф Х Ц Ч Ш Щ Ъ Ы
3 Ь Э Ю Я
4 а
5 б в г д е ё ж з и й
6 к л м н о п р с т у
7 ф х ц ч ш щ ъ ы ь э
8 ю я
9
08 0 1 2 3 4 5 6 7 8 9
0 ā á ǎ à ē é ě è ī
1 í ǐ ì ō ó ǒ ò ū ú ǔ
2 ù ǖ ǘ ǚ ǜ ü ê ɑ ń
3 ň ɡ ㄅ ㄆ ㄇ
4 ㄈ ㄉ ㄊ ㄋ ㄌ ㄍ ㄎ ㄏ ㄐ ㄑ
5 ㄒ ㄓ ㄔ ㄕ ㄖ ㄗ ㄘ ㄙ ㄚ ㄛ
6 ㄜ ㄝ ㄞ ㄟ ㄠ ㄡ ㄢ ㄣ ㄤ ㄥ
7 ㄦ ㄧ ㄨ ㄩ
8
9
09 0 1 2 3 4 5 6 7 8 9
0 ─ ━ │ ┃ ┄ ┅
1 ┆ ┇ ┈ ┉ ┊ ┋ ┌ ┍ ┎ ┏
2 ┐ ┑ ┒ ┓ └ ┕ ┖ ┗ ┘ ┙
3 ┚ ┛ ├ ┝ ┞ ┟ ┠ ┡ ┢ ┣
4 ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫ ┬ ┭
5 ┮ ┯ ┰ ┱ ┲ ┳ ┴ ┵ ┶ ┷
6 ┸ ┹ ┺ ┻ ┼ ┽ ┾ ┿ ╀ ╁
7 ╂ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋
8
9
10-15區為空
16 0 1 2 3 4 5 6 7 8 9
0 啊 阿 埃 挨 哎 唉 哀 皚 癌
1 藹 矮 艾 礙 愛 隘 鞍 氨 安 俺
2 按 暗 岸 胺 案 骯 昂 盎 凹 敖
3 熬 翱 襖 傲 奧 懊 澳 芭 捌 扒
4 叭 吧 笆 八 疤 巴 拔 跋 靶 把
5 耙 壩 霸 罷 爸 白 柏 百 擺 佰
6 敗 拜 稗 斑 班 搬 扳 般 頒 板
7 版 扮 拌 伴 瓣 半 辦 絆 邦 幫
8 梆 榜 膀 綁 棒 磅 蚌 鎊 傍 謗
9 苞 胞 包 褒 剝
總結
- 上一篇: 位图和矢量图区别
- 下一篇: Python办公自动化——批量合并wor