基于HZK16的汉字显示技术

本文介绍了汉字显示技术的基础,重点讨论了HZK16汉字库的结构和GB2312-80字符集。内容包括汉字的区位码、国标码与机内码之间的转换关系,以及如何根据这些编码确定汉字在字库中的位置,以实现汉字的显示。同时,列举了几种不同汉字库中地址码的计算公式。
摘要由CSDN通过智能技术生成

       国标汉字字符集(GB2312-80)在汉字操作系统中以汉字库的形式提供,并对汉字库的结构做了统一规定。汉字库的结构如图:

        HZK16的GB2312-80支持的汉字有6763个,符号682个。字库有94个区,其中一级汉字有3755个,按声序排列,二级汉字有3008个,按偏旁部首排列。每个区有94个位,每个位存一个汉字。这样每个汉字在汉字库中有确定的区号和位号。区号在前,位号在后,合成一个4位十进制数字,这就是区位码。区位码用两个字节存放(GB2312汉字是由两个字节编码的,范围为A1A1~FEFE。A1-A9为符号区,B0到F7为汉字区),第一个字节表示区号,第二个字节表示位号。只要知道了区位码,就可以知道该字在字库中的地址。

        16×16点阵库中,每个点阵模用32个字节来描述,其中的每个点使用一个二进制位。当需要显示时,把某个汉字的16×16点阵信息直接送到显示器上,值为1的点在屏幕上显示一个亮点,值为0的点则不亮,这样就可以显示出相应的汉字。

        在国标字库中,每个汉字还可以使用国标码。国标码与区位码之间的换算关系:

        国标码的区号=区位码的区号+32(或20H)

        国标码的位号=区位码的位号+32(或20H)

        或   区码=区号-0xa0    (因为汉字编码是从0xa0区开始的,所以文件最前面就是从0xa0区开始,要算出相对区码)

               位码

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值