文档介绍:第 17 卷第 1 期漳州师范学院学报(自然科学版)
2004 年 3 月 Journal of Zhangzhou Teachers College(.) Mar. 2004
从国标字库中提取汉字点阵信息的方法及应用
黄永顺
(漳州师范学院物理系,福建漳州 363000)
摘要:在许多单片机与嵌入式系统中,要用到汉字提示或汉字显示,本文介绍在嵌入式应用系
统中如何从国标字库中,查找汉字点阵信息的具体方法.
关键词:嵌入式系统;汉字字库;单片机
中图分类号: 文献标识码: A 文章编号: 1008-7826(2004)01-0048-03
1 引言
在许多单片机与嵌入式应用系统中,经常要用到中文显示,有的只需要少量的汉字显示作
为提示,?本文就这问题介绍
一种简易、快速的提取方法.
2 有关汉字字库结构的介绍
汉字的区位码
汉字的区位码是指我国国家标准信息交换汉字编码 GB2312-80 中的区位编码,也称国标
码,其中共收录汉字、图形字符 7445 个, GB2312-80 中汉字库
结构有统一的规定:全部 7445 个汉字和字符组成 94*94 的矩阵,矩阵中的每一行称为 1 个“区”,
每一列称为 1 个“位”.即汉字库共分为 94 个区,编号 01-94;每个区有 94 个位,编号 01-94;
这样每个汉字都有与之相对应一个区和位编码,这就是汉字的区位码,用两个字节表示,区位
码的第一个字节表示区号,第二个字节表示位号.
汉字内码
汉字内码是微机内部使用的代码、
ASCII 码表示,由于汉字众多,对一个汉字需用两个字节表示,且为了与系统中 ASCII 码相区
别,将这两个字节的最高位置 1,称为机器内的汉字代码即机内码,简称内码.
3 单片机应用中的小字库提取方法
在一些单片机应用系统中需使用小部分汉字显示,以 16×16 点阵字库为例,一个汉字占
用 32 16×16 点阵字库的地址(以“字”字为
例说明).
提取汉字内码的方法
在 VB 的“立即窗口”中输入:?HEX(ASC(“字”)).回车后在“立即窗口”显示:D7D6,
这就是“字”这个汉字的内码(为十六进制数).
收稿日期:2003-11-18
作者简介:黄永顺(1972-), 男, 福建漳浦人, 学士.
第 1 期黄永顺:从国标字库中提取汉字点阵信息的方法及应用 49
把内码转换为区位码的算法
设汉字的十六进制内码为 XXYY 则区号 QH 和位号 WH 为:QH=XX-A0H=D7H-A0H=37H=55D,
WH=YY-A0H=D6H-A0H=36H=54D;5554 就是“字”汉字的区位号.
计算该汉字的 16×16 点阵信息在汉字库中的位置(以十六进制数计算)
公式为:((QH-1)×5EH + (WH-1))×20H
=(( 37H-1)×5EH+(36H-1)