Page 44 - 江西普通高校专升本信息技术
P. 44
江西普通高校专升本信息技术
字都有了确定的编码,但在计算机内部表示时是否能采用国标码值得商榷,因为计算机内部的数
据也有可能是字符的ASCII值。如果不兼容字符的ASCII值会产生一个弊端:英文字符作为汉字编
码打开就会显示是乱码,也就是说汉字机内码应该要兼容ASCII码而不是覆盖它。为了解决这个
问题,可以将每个字节的最高位设为1,因为前面所述的标准ASCII中使用7位,最高位为0,这样
就区分开了ASCII编码和GB2312编码。由于每个汉字机内码占用两个字节,两个字节最高位都要
由0变成1,相当于每个字节加上每个10000000B,转换成十六进制结果为:8080H,因此可以得出
结论,机内码等于国标码加上8080H。
例19.汉字“中”的国标码为:3763H。
因此汉字“中”的机内码为:B7E3H。
5.字形码
字形码是汉字打印或输出时所采用的编码。输出汉字时都采用图形方式也就是矢量图方式,
因此无论汉字的笔画多少,每个汉字都可以写在同样大小的方块中。用点阵表示字形时,汉字字
形码指的就是这个方块点阵的代码,字形码也称字模码,全部汉字字形码的集合叫汉字字库。字
形码一般采用16×16点阵或24×24点阵或48×48点阵。例如:汉字“你”,用16×16点阵来显示
点阵如图1-14所示,其中字模信息就是字形码。
图 1-14 字形码
已知汉字点阵的大小,可以计算出存储一个汉字所需占用的字节空间。
例如,用16×16点阵表示一个汉字,就是将每个汉字用16行,每行16个点表示,1个点需要
1位二进制代码,16个点需用16位二进制代码(即2个字节),共16行,所以需要16行×2字节/行
=32字节,即16×16点阵表示一个汉字,字形码需用32字节。
因此,字形码占用字节数=点阵行数×点阵列数/8。
汉字所有的编码总结如下:用户通过输入码将汉字输入到计算机之后,采用机内码在计算机
内表示汉字,机内码的值等于国标码+8080H或区位码+A0A0H。为显示和打印输出汉字而采用
的汉字编码为字形码,计算机通过汉字内码在汉字字模库中找出汉字的字形码,实现其转换。汉
字五种编码之间的区别与联系如图1-15所示。
·22·