1.4.2 非数值数据的表示

1.4.2 非数值数据的表示

计算机中使用的数据有数值型数据和非数值型数据两大类。数值型数据用于表示数量意义;非数值型数据又称为符号数据,包括字母和符号等。计算机除处理数值信息外,大量处理的是字符信息。这就需要对字符进行编码,建立字符数据与二进制串之间的对应关系,以便于计算机识别、存储和处理。这里介绍两种符号数据的表示。

1.字符数据的表示

对于字符的编码方案有很多种,但使用最广泛的是ASCII码(American Standard Code for Information Interchange)。ASCII码开始时是美国国家信息交换标准字符码,后来被采纳为一种国际通用的信息交换标准代码。

ASCII码由0~9这10个数符,52个大、小写英文字母,32个符号及34个计算机通用控制符组成,共有128个元素。因为ASCII码总共为128个元素,故用二进制编码表示需用7位。任意一个元素由7位二进制数表示,从0 000 000到1 111 111共有128种编码,可用来表示128个不同的字符。ASCII码表的查表方式是:先查列(高三位),后查行(低四位),然后按从左到右的书写顺序完成,如B的ASCII码为1000010。在ASCII码进行存放时,由于它的编码是7位,因1个字节(8位)是计算机中常用单位,故仍以1字节来存放1个ASCII字符,每个字节中多余的最高位取0。如表1-4-2所示为7位ASCII字符编码表。

表1-4-2 ASCII字符编码

img10

ASCII码字符的码值可用7位二进制代码或2位十六进制来表示。例如字母D的ASCII码值为(1000100)2或44H,数字4的码值为(0110100)2或34H等。

2.汉字的存储与编码

英语文字是拼音文字,所有文字均由26个字母拼组而成,所以使用一个字节表示一个字符足够了。但汉字是象形文字,汉字的计算机处理技术比英文字符复杂得多,一般用两个字节表示一个汉字。由于汉字有1万多个,常用的也有6 000多个,所以编码采用两字节的低7位共14个二进制位来表示。一般汉字的编码方案要解决4种编码问题。

(1)汉字交换码

汉字交换码又称国标码。国标码是中华人民共和国国家信息交换汉字编码,它是一种机器内部编码,可将不同系统使用的不同编码全部转换为国标码,以实现不同系统之间的信息交换。

国标码收录了汉字、字母、图形等字符共7 445个,其中包括常用汉字6 763个(一级汉字3 755个,二级汉字3 008个),图形字符682个。

(2)汉字机内码

汉字一般用两个字节来表示,为了与ASCⅡ码区别,将代表汉字的国标码的两个字节的最高位都变为1,通常将变换后的国标码称为汉字机内码。

(3)汉字输入码

汉字输入码是利用计算机标准键盘上按键的不同排列组合来对输入的汉字进行编码的。目前常用的输入编码可分为以下4种:

● 数字编码,例如区位码等。

● 字音编码,例如全拼、双拼码等。

● 字形编码,例如五笔字型码等。

● 音形编码,例如根据语音和字形双重因素确定的输入码。

(4)汉字字形码

汉字在显示和打印输出时,是以汉字字形信息表示的,即以点阵的方式形成汉字图形。汉字字形码是指确定一个汉字字形点阵的代码(汉字字形码)。一般采用点阵字形表示字符。