(四)计算机中字符的编码规则
编码就是利用计算机中的0和1两个代码的不同长度表示不同信息的一种约定方式。由于计算机是以二进制的形式存储和处理数据的,因此只能识别二进制编码信息,对于数字、字母、符号、汉字、语音和图形等非数值信息都要用特定规则进行二进制编码才能进入计算机。对于西文与中文字符,由于形式不同,使用的编码也不同。
1.西文字符的编码
计算机对字符进行编码,通常采用ASCII和Unicode两种编码。
标准7位ASCII
● ASCII编码。美国信息交换标准代码(American Standard Code for Information Interchange,ASCII)是基于拉丁字母的一套编码系统,主要用于显示现代英语和其他西欧语言,它被国际标准化组织指定为国际标准(ISO 646标准)。标准ASCII是使用7位二进制数来表示所有的大写和小写字母、数字0~9、标点符号,以及在美式英语中使用的特殊控制字符,共有27=128个不同的编码值,可以表示128个不同字符的编码。其中,低4位编码b3b2b1b0用作行编码,而高3位b6b5b4用作列编码,其中包括的95个编码对应计算机键盘上的符号或其他可显示或打印的字符,另外33个编码被用作控制码,用于控制计算机某些外部设备的工作特性和某些计算机软件的运行情况。例如,字母A的编码为二进制数1000001,对应十进制数65或十六进制数41。
● Unicode编码。Unicode编码也是一种国际标准编码,采用两字节编码,能够表示世界上所有的书写语言中可能用于计算机通信的文字和其他符号。目前,Unicode 编码在网络、Windows操作系统和大型软件中得到应用。
2.汉字的编码
在计算机中,汉字信息的传播和交换必须有统一的编码才不会造成混乱和差错,因此计算机中处理的汉字是指包含在国家或国际组织制定的汉字字符集中的汉字。常用的汉字字符集包括GB2312、GB18030、GBK和CJK编码等。为了使每个汉字有一个全国统一的代码,我国颁布了汉字编码的国家标准,即GB2312—1980《信息交换用汉字编码字符集》基本集,这个字符集是目前国内所有汉字系统的统一标准。
汉字的编码方式主要有以下4种。
● 输入码。输入码也称外码,是为了将汉字输入计算机而设计的代码,包括音码、形码和音形码等。
● 区位码。将GB2312字符集放置在一个94行(每一行称为“区”)、94列(每一列称为“位”)的方阵中,方阵中的每个汉字对应的区号和位号组合起来就得到了该汉字的区位码。区位码用4位数字编码,前两位叫作区码,后两位叫作位码,如汉字“中”的区位码为5448。
● 国标码。国标码采用两字节表示一个汉字,将汉字区位码中的十进制区号和位号分别转换成十六进制数,再分别加上20H,就可以得到该汉字的国际码。例如,“中”字的区位码为5448,区号54对应的十六进制数为36,加上20H,即为56H;而位号48对应的十六进制数为30,加上20H,即为50H,所以“中”字的国标码为5650H。
● 机内码。在计算机内部进行存储与处理使用的代码,称为机内码。对汉字系统来说,汉字机内码规定在汉字国标码的基础上,每字节的最高位置为 1,每字节的低 7 位为汉字信息。将国标码的两字节编码分别加上80H(即10000000B),便可以得到机内码,如汉字“中”的机内码为D6D0H。