详细说明汉字在计算机中的处理流程以及汉字编码在处理过程中的转化关系

问题描述:

详细说明汉字在计算机中的处理流程以及汉字编码在处理过程中的转化关系

一般字库文件是按照GB 2312-80标准,也就是通常所说的国标码或区位码的标准排列的.国标码分为 94 个区(Section),每个区 94 个位(Position),所以也称为区位码.其中01~09 区为符号、数字区,16~87 区为汉字区.而 10~15 区、88~94 区是空白区域.如何取得汉字的区位码呢?在计算机处理汉字和ASCII字符时,使每个ASCII字符占用1个字节,而一个汉字占用两个字节,其值称为汉字的内码.其中第一个字节的值为区号加上32(20H),第二个字节的值为位号加上32(20H).为了与ASCII字符区别开,表示汉字的两个字节的最高位都是1,也就是两个字节的值都又加上了128(80H).这样,通过汉字的内码,就可以计算出汉字的区位码.具体算式如下:qh=c1-32-128=c1-160 wh=c2-32-128=c2-160 或 qh=c1-0xa0 wh=c2-0xa0 qh,wh为汉字的区号和位号,c1,c2为汉字的第一字节和第二字节.根据区号和位号可以得到汉字字模在文件中的位置:location=(94*(qh-1)+(wh-1))*一个点阵字模的字节数.