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 苞 胞 包 褒 剥

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值