3.BCD码
在计算机中,用户和计算机的输入和输出之间要进行十进制和二进制的转换,这项工作由计算机本身完成。在计算机中采用了输入/输出转换的二~十进制编码,即BCD码。
例如:十进制数765用BCD码表示的二进制数为:0111 0110 0101。
1.5.2 非数值数据的表示
计算机中使用的数据有数值型数据和非数值型数据两大类。数值数据用于表示数量意义;非数值数据又称为符号数据,包括字母和符号等。计算机除处理数值信息外,大量处理的是字符信息。例如,将用高级语言编写的程序输入到计算机时,人与计算机通信时所用的语言就不再是一种纯数字语言而是字符语言。由于计算机中只能存储二进制数,这就需要对字符进行编码,建立字符数据与二进制串之间的对应关系,以便于计算机识别、存储和处理。这里介绍两种符号数据的表示。
1.字符数据的表示
计算机中用得最多的符号数据是字符,它是用户和计算机之间的桥梁。用户使用计算机的输入设备,输入键盘上的字符键向计算机内输入命令和数据,计算机把处理后的结果也以字符的形式输出到屏幕或打印机等输出设备上。对于字符的编码方案有很多种,但使用最广泛的是ASCII码(American Standard Code for Information Interchange)。ASCII码开始时是美国国家信息交换标准字符码,后来被采纳为一种国际通用的信息交换标准代码。
ASCII码由0~9这10个数符,52个大、小写英文字母,32个符号及34个计算机通用控制符组成,共有128个元素。因为ASCII码总共为128个元素,故用二进制编码表示需用7位。任意一个元素由7位二进制数表示,从0000000到1111111共有128种编码,可用来表示128个不同的字符。ASCII码表的查表方式是:先查列(高三位),后查行(低四位),然后按从左到右的书写顺序完成,如B的ASCII码为1000010。在ASCII码进行存放时,由于它的编码是7位,因1个字节(8位)是计算机中常用单位,故仍以1字节来存放1个ASCII字符,每个字节中多余的最高位取0。如表1-7所示为7位ASCII字符编码表。
(1)打印字符:即从键盘输入并显示的95个字符,如大小写英文字母各26个,数字0~9这10个数字字符的高3位编码(D6D5D4)为011,低4位为0000~1001。当去掉高3位时,低4位正好是二进制形式的0~9。
(2)不可打印字符:共33个,其编码值为0~31(0000000~0011111)和(1111111),不对应任何可印刷字符。不可打印字符通常为控制符,用于计算机通信中的通信控制或对设备的功能控制。如编码值为127(1111111),是删除控制DEL码,它用于删除光标之后的字符。
ASCII码字符的码值可用7位二进制代码或2位十六进制来表示。例如字母D的ASCII码值为(1000100)2或84H,数字4的码值为(0110100)2或34H等。
2.汉字的存储与编码
英语文字是拼音文字,所有文字均由26个字母拼组而成,所以使用一个字节表示一个字符足够了。但汉字是象形文字,汉字的计算机处理技术比英文字符复杂得多,一般用两个字节表示一个汉字。由于汉字有一万多个,常用的也有六千多个,所以编码采用两字节的低7位共14个二进制位来表示。一般汉字的编码方案要解决4种编码问题。
(1)汉字交换码
汉字交换码主要是用作汉字信息交换的。以国家标准局1980年颁布的《信息交换用汉字编码字符集基本集》(代号为GB2312-80)规定的汉字交换码作为国家标准汉字编码,简称国标码。
国标GB 2312-80规定,所有的国际汉字和符号组成一个94×94的矩阵。在该矩阵中,每一行称为一个“区”,每一列称为一个“位”,这样就形成了94个区号(01~94)和94个位号(01~94)的汉字字符集。国标码中有6763个汉字和628个其他基本图形字符,共计7445个字符。其中规定一级汉字3755个,二级汉字3008个,图形符号682个。一个汉字所在的区号与位号简单地组合在一起就构成了该汉字的“区位码”。在汉字区位码中,高两位为区号,低两位为位号。因此,区位码与汉字或图形符号之间是一一对应的。一个汉字由两个字节代码表示。
(2)汉字机内码
汉字机内码又称内码或汉字存储码。该编码的作用是统一了各种不同的汉字输入码在计算机内的表示。汉字机内码是计算机内部存储、处理的代码。计算机既要处理汉字,又要处理英文,所以必须能区别汉字字符和英文字符。英文字符的机内码是最高位为0的8位ASCII码。为了区分,把国标码每个字节的最高位由0改为1,其余位不变的编码作为汉字字符的机内码。
一个汉字用两个字节的内码表示,计算机显示一个汉字的过程首先是根据其内码找到该汉字字库中的地址,然后将该汉字的点阵字型在屏幕上输出。
汉字的输入码是多种多样的,同一个汉字如果采用的编码方案不同,则输入码就有可能不一样,但汉字的机内码是一样的。有专用的计算机内部存储汉字使用的汉字内码,用以将输入时使用的多种汉字输入码统一转换成汉字机内码进行存储,以方便机内的汉字处理。在汉字输入时,根据输入码通过计算机或查找输入码表完成输入码到机内码的转换。如汉字国际码(H)+8080(H)=汉字机内码(H)。
(3)汉字输入码
汉字输入码也叫外码,是为了通过键盘字符把汉字输入计算机而设计的一种编码。
英文输入时,想输入什么字符便按什么键,输入码和内码是一致的。而汉字输入规则不同,可能要按几个键才能输入一个汉字。汉字和键盘字符组合的对应方式称为汉字输入编码方案。汉字外码是针对不同汉字输入法而言的,通过键盘按某种输入法进行汉字输入时,人与计算机进行信息交换所用的编码称为“汉字外码”。对于同一汉字而言,输入法不同,其外码也是不同的。例如,对于汉字“啊”,在区位码输入法中的外码是1601,在拼音输入中的外码是a,而在五笔字型输入法中的外码是KBSK。汉字的输入码种类繁多,大致有4种类型,即音码、形码、数字码和音形码。
2024-04-16 13:56
2024-04-16 11:04
2024-04-16 10:56
2024-04-16 10:28
2024-04-16 10:23
2024-04-16 10:08
2024-04-03 13:46
2024-04-03 13:31
2024-04-03 13:25
2024-03-27 09:12
2024-03-27 08:49
2024-03-27 08:41
2024-03-27 08:36
2024-03-27 08:16