汉字信息的编码知识

1、区位码:GB2312-80字符集,组成一个94*94的矩阵。每一行称为一个“区”,每一列称为一个“位”。一个汉字的区号和位号合在一起构成“区位码”, 区位码的编码范围是:0101~9494

2、国标码国标码=(区位码的十六进制表示)+2020H国标码的取值范围:2121H~7E7EH

3、机内码中文或西文信息在计算机系统中的代码表示称为机内码。ASCII码是一种西文机内码,用一个字节表示。汉字机内码用连续两个字节表示,每个字节的最高位是1。

机内码 = 国标码+8080H =(区位码的十六进制表示)+A0A0H

GB2312-80的机内码编码范围为:A1A1H~FEFEH



4、输入码: 汉字输入码是指直接从键盘输入的各种汉字输入方法的编码,属于外码主要分顺序码(无重码)、音码、形码和音形码或形音码四类。

5、字形码:

(1)向量(矢量)法:将汉字分解成笔画,每种笔画使用一段段的直线(向量)近似地表示,这样每个字形都可以变成一连串的向量。

(2)点阵法(字模点阵码):每一个汉字以点阵形式存储在记录介质上,有点的地方为“1”,空白的地方为“0”。

16*16点阵:16*16/8=32字节

24*24点阵:24*24/8=72字节

 

一个汉字字模占用的字节数根据汉字库的汉字大小不同而不同。以HZK16、HZK12点阵字库为例,字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0,则说明没有。这样,一个16×16点阵的汉字总共需要16*16/8=32个字节表示,一个12×12点阵的汉字总共需要16*12/8=24个字节表示
字模的表示顺序为:先从左到右,再从上到下,也就是先画左上方的8个点,再是右上方的8个点,然后是第二行左边8个点,右边8个点,依此类推,画满16×16个点。因此,HZK16中汉字在汉字库中具体位置的计算公式为:(94*(qh-1)+(wh-1))*32; HZK12中汉字在汉字库中具体位置的计算公式为:(94*(qh-1)+(wh-1))*24
汉字“房”的机内码为十六进制的“B7BF”,其中“B7”表示区码,“BF”表示位码。所以“房”的区位码为0xB7BF-0xA0A0=0x171F。将区码和位码分别转换为十进制得汉字“房”的区位码为“2331”,即“房”的点阵位于第23区的第31个字的位置,相当于在文件HZK16中的位置为第32×[(23-1)×94+(31-1)]=67136B以后的32个字节为“房”的显示点阵;相当于在文件HZK12中的位置为第24×[(23-1)×94+(31-1)]=50362B以后的24个字节为“房”的显示点阵

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值