字符包括西文字符(字母、数字、各种符号)和中文字符,即所有不可做算术运算的数据。
字符编码的方法很简单,首先确定需要编码的字符总数,然后将每一个字符按顺序确定序号。序号的大小无意义,仅作为识别与使用这些字符的依据。字符形式的多少涉及编码的位数,对于西文与中文字符,由于形式不同,使用的编码也不同。表1.3为十进制、十六进制的数与字符之间的关系。
由于计算机是以二进制的形式存储和处理数据的,因此字符也必须按特定的规则进行二进制编码才能输入计算机。
表1.3 十进制、十六进制的数与字符之间的关系表
1)西文字符的编码
计算机中常用字符(西文字符)的编码有两种:EBCDIC(Extended Binary Coded Decimal Interchange Code,广义二进制编码的十进制交换码)码和ASCII码。微型计算机采用ASCII码。
ASCII是美国信息交换标准代码(American Standard Code for Information Interchange)的缩写,被国际标准化组织指定为国际标准。ASCII码包括7位码和8位码两种版本,见表1.4。
表1.4 7位码和8位码的特点
7位码是2的7次方,一共128个(0~127);而8位码是2的8次方,共256个(0~255)。ASCII码可以表示的最大字符数是256个。国际的7位ASCII码是用7位二进制数表示一个字符的编码,其编码范围从0000000B~1111111B,共有27=128个不同的编码值,相应可以表示128个不同的编码。
7位ASCII码中包括通用控制字符34个,阿拉伯数字10个,大、小写英文字母52个,各种标点符号和运算符号共32个。
比较字符的大小其实就是比较字符ASCII码值的大小。一般来说,ASCII码值的大小规律为:可见控制符号<数字<大写字母<小写字母。
2)汉字的编码
我国于1980年发布了国家汉字编码标准GB 2312—1980,即《信息交换用汉字编码字符集》(简称GB码或国标码),表1.5是国标码的相关知识点。
使用汉字的国家有中国、日本和韩国,在中国台湾省和香港特别行政区使用的汉字是繁体字,即BIG5码。
从汉字编码的角度看,计算机对汉字信息的处理过程实际上是各种汉字编码间的转换过程,这些编码主要包括汉字输入码、汉字内码、汉字地址码、汉字字形码等,如图1.6所示。
表1.5 国标码相关知识点
图1.6 计算机对汉字信息的处理过程
(1)汉字输入码
汉字输入码是为使用户能够使用西文键盘输入汉字而编制的编码,也称外码。汉字输入码是利用计算机标准键盘上按键的不同排列组合来对汉字输入进行编码。一个好的输入编码的特点:编码短,可以减少击键的次数;重码少,可以实现盲打;好学好记,便于学习和掌握。但目前还没有一种符合上述全部要求的汉字输入编码方法。
汉字输入码有许多种不同的编码方案,大致分为以下4类:(www.daowen.com)
①音码:以汉语拼音字母和数字为汉字编码,如全拼输入法和双拼输入法。
②音形码:以拼音为主,辅以字形字义进行编码,如五笔字型输入法。
③形码:根据汉字的字形结构对汉字进行编码,如自然码输入法。
④数字码:直接用固定位数的数字给汉字编码,如区位输入法。
(2)汉字内码
汉字内码是为在计算机内部对汉字进行处理、存储和传输而编制的汉字编码,应能满足存储、处理和传输的要求。不论用何种输入码,输入的汉字在机器内部都要转换成统一的汉字机内码,然后才能在机器内传输、处理。
在计算机内部为了能够区分是汉字还是ASCII码,将国标码每个字节的最高位由0变为1,变换后的国标码称为汉字内码。
汉字的国标码与其内码之间的关系:内码=汉字的国标码+(8080)16。
(3)汉字地址码
汉字地址码是指汉字库(这里主要指汉字字形的点阵式字模库)中存储汉字字形信息的逻辑地址码。在汉字库中,字形信息都是按一定顺序(大多数按照标准汉字国标码中汉字的排列顺序)连续存放在存储介质中的,所以汉字地址码也大多是连续有序的,而且与汉字机内码间有着简单的对应关系,从而简化了汉字内码到汉字地址码的转换。
(4)汉字字形码
汉字字形码是存放汉字字形信息的编码,它与汉字内码一一对应。每个汉字的字形码是预先存放在计算机内的,常称为汉字库。当输出汉字时,计算机根据内码在字库中查到其字形码,得知字形信息后就可以显示或打印输出了。
描述汉字字形的方法主要有点阵字形法和矢量表示法。
①点阵字形法:用一个排列成方阵的黑白点来描述汉字。这种方法简单,点阵规模越大,字形越清晰美观,所占存储空间越大。点阵字形法表示方式的缺点是字形放大后的显示效果差。
②矢量表示法:描述汉字字形的轮廓特征,采用数学方法描述汉字的轮廓曲线。如Windows下采用的TrueType技术就是汉字的矢量表示方式,它解决了汉字点阵字形放大后出现锯齿现象的问题。矢量表示方式的特点是字形精度高,但输出前要经过复杂的数学运算处理。当要输出汉字时,通过计算机的计算,由汉字字形描述生成所需大小和形状的汉字点阵。
3)各种汉字编码之间的关系
汉字的输入、输出和处理的过程,实际上是汉字的各种代码之间的转换过程。汉字通过汉字输入码输入计算机内,然后通过输入字典转换为内码,以内码的形式进行存储和处理。在汉字通信过程中,处理机将汉字内码转换为适合于通信用的交换码,以实现通信处理。
在汉字的显示和打印输出过程中,处理机根据汉字机内码计算出地址码,按地址码从字库中取出汉字输出码,实现汉字的显示或打印输出,图1.7表示了这些代码在汉字信息处理系统中的地位及它们之间的关系。
图1.7 各种汉字编码之间的关系
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。