点阵汉字的原理及应用.doc

点阵汉字的原理及应用.doc

ID:49625288

大小:409.50 KB

页数:7页

时间:2020-03-02

点阵汉字的原理及应用.doc_第1页
点阵汉字的原理及应用.doc_第2页
点阵汉字的原理及应用.doc_第3页
点阵汉字的原理及应用.doc_第4页
点阵汉字的原理及应用.doc_第5页
资源描述:

《点阵汉字的原理及应用.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、点阵汉字原理与应用一.汉字的编码由于在电脑中,所有的数据都是以0和1保存的。因此,想要用计算机来显示汉字前提就是要将汉字以二进制,即0和1形式进行编码。GBK内码在英文的显示操作中,一个字母、数字及字符均由1个ASCII码表示,并且由于英文字符种类相对较少,故其ASCII码是小于等于127的。而汉字由于种类繁多,每个汉字有2个ASCII码构成,这两个ASCII码称为汉字的GBK内码,通常用十六进制表示。例如,“啊”的GBK内码=B0A1。汉字的GBK内码一定大于A0H,即160,目的是为了防止与英文的ASCII码产生冲突。区位码为了使每一个汉字有一个全国

2、统一的代码,1980年,我国颁布了第一个汉字编码的国家标准:GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。由于国标码是四位十六进制,如汉字的GBK内码,为了便于交流,大家常用的是四位十进制的区位码。所有的国标汉字与符号组成一个94×94的矩阵(见图1所示)。在此方阵中,每一行称为一个"区",每一列称为一个"位",因此,这个方阵实际上组成了一个有94个区(区号分别为01到94)、每个区内有94个位(位号分别为01到94)的汉字字符集。一个汉字所在的区号和位号简单地组合在

3、一起就构成了该汉字的"区位码"。区位码和GBK内码之间可以相互转换,区位码=GBK内码-A0H。例如:“啊”的GBK内码=B0A1,则其区码=B0-A0=10H=16,而其位码=A1-A0=01,所以“啊”的区位码=1601,为4位十进制码。在区位码中,01-09区为682个特殊字符,16~87区为汉字区,包含6763个汉字。其中16-55区为一级汉字(3755个最常用的汉字,按拼音字母的次序排列),56-87区为二级汉字(3008个汉字,按部首次序排列)。因此利用区位码便可实现对6000多个汉字的提取。图1汉字的区位码表二、点阵字库结构点阵字库储存在汉

4、字的点阵字库中,每个字节的每个位都代表一个汉字的一个点,每个汉字都是由一个矩形的点阵组成,0代表没有,1代表有,将0和1分别用不同颜色画出就形成了一个汉字。常用的点阵矩阵有12*12,14*14,16*16三种字库。16*16点阵字库(见图2所示)对于16*16的矩阵来说,它所需要的位数共是16*16=256位,每个字节为8位,因此每个汉字都要用256/8=32个字节来表示。即每两个字节代表一行的16个点,共需16行(见图3所示)。图216*16点阵字库(部分)图3汉字“中”16*16点阵示意14*14与12*12点阵字库对于14*14和12*12的字库

5、,理论上计算,它们所需要的点阵分别为(14*14/8)=25,(12*12/4)=18个字节,但是,如果按照这种方式来储存,那么取点阵和显示时,由于每一行都不是8的整数倍就会涉及到点阵的计算处理问题,会增加程序的复杂度,降低程序的效率。为了解决这个问题,有些点阵字库会将14*14和12*12的字库按16*14和16*12来存储,即,每行还是按两个字节来存储,但是14*14的字库,每两字节的最后4位是没有使用,这个根据不同的字库会有不同的处理方式,所以在使用字库时要注意这个问题,特别是14*14的字库。二、点阵汉字的获取利用区位码获取汉字汉字的点阵字库是根

6、据区位码的顺序进行储存的,因此我们可以根据区位码来获得一个字库的点阵。计算公式如下:点阵起始位置=((区码-1)*94+(位码-1))*汉字点阵字节数对于16*16点阵字库,公式即为:点阵起始位置=((区码-1)*94+(位码-1))*32获取点阵起始位置后就可以从这个位置开始读取出一个汉字的点阵。利用GBK内码获取汉字由于区位码和汉字的内码可以相互转换,自然也可以用GBK内码来获取汉字。三、利用010Editor及画图工具详细演示汉字“点”的点阵过程1、获取“点”字的GBK内码新建一个文本文档,输入“点”字,保存。然后用十六进制编辑器010Editor

7、打开该文本文档(见图4所示),得到汉字“点”的GBK内码为B5E3。图4汉字“点”GBK内码2、在16*16点阵字库中获取汉字“点”“点“字的区码=B5-A0=15H=21:;”点“字的位码=E3-A0=43H=67。从而“点”字在字库中的起始位置=((21-1)*94+(67-1))*32=62272=F340H。用010Editor查看16*16点阵字库,按住键盘ctrl+g,输入F340,定位到此处。选中当前一行及下一行,选菜单edit---copyas---copyashextext,粘贴到文本文件中,得到“点”的点阵数据(见图5所示)。图5汉字

8、“点”的点阵数据获取3、在16*16表格中点阵汉字“点”得到汉字“点”的点阵数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。