上QQ阅读APP看书,第一时间看更新
1.2.4 计算机中字符的编码规则
编码就是利用计算机中的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用作列编码。在128个不同字符的编码中,95个编码对应计算机键盘上的符号和其他可显示或输出的字符,另外33个编码被用作控制码,用于控制计算机某些外部设备的工作特性和某些计算机软件的运行情况。例如,字母A的编码为二进制数1000001,对应十进制数65或十六进制数41。
- Unicode。Unicode也是一种国际编码标准,采用两个字节编码,几乎能够表示世界上所有的书写语言中可能用于计算机通信的文字和其他符号。目前,Unicode在网络、Windows操作系统和大型软件中得到应用。
2. 汉字的编码
在计算机中,汉字信息的传播和交换必须基于统一的编码标准才不会造成混乱和差错。因此,计算机能够处理的汉字是包含在国家或国际组织制定的汉字字符集中的汉字,常用的汉字字符集包括GB 2312—1980、GB 18030—2000、GBK和CJK编码等。为了使每个汉字有统一的代码,我国颁布了汉字编码的国家标准,即GB 2312—1980《信息交换用汉字编码字符集 基本集》。这个字符集是目前我国所有汉字系统的统一标准。
汉字的编码方式主要有以下4种。
- 输入码。输入码也称外码,是为了将汉字输入计算机而设计的编码,包括音码、形码和音形码等。
- 区位码。将GB 2312—1980字符集放置在一个94行(每一行称为“区”)、94列(每一列称为“位”)的方阵中,将方阵中的每个汉字所对应的区号和位号组合起来就可以得到该汉字的区位码。区位码用4位数字编码,前两位称为区码,后两位称为位码,如汉字“中”的区位码为5448。
- 国标码。国标码采用两个字节表示一个汉字。将汉字区位码中的十进制区号和位号分别转换成十六进制数,再分别加上20H,就可以得到该汉字的国际码。例如,“中”字的区位码为5448,区码54对应的十六进制数为36,加上20H,即56H;而位码48对应的十六进制数为30,加上20H,即50H,所以“中”字的国标码为5650H。
- 机内码。在计算机内部对字符进行存储与处理所使用的编码称为机内码。对汉字系统来说,汉字机内码在汉字国标码的基础上规定,每字节的最高位为1,每字节的低7位为汉字信息。将国标码的两字节编码分别加上80H(10000000B),便可以得到机内码,如汉字“中”的机内码为D6D0H。