《计算机组成原理第二章第4讲字符和字符串(非数值)的.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第二章第4讲字符和字符串(非数值)的.ppt(27页珍藏版)》请在金锄头文库上搜索。
1、字符和字符串(非数值)的表示方法2.1.3字符和字符串(非数值)的表示方法符号数据:字符信息用数据表示,如ASCII等;字符表示方法ASCII:用一个字节来表示,低7位用来编码(128),最高位为校验位l l1010个十进制数码个十进制数码l l2626个英文字母个英文字母l l一定量专用符号:控制码一定量专用符号:控制码2.1.3字符和字符串(非数值)的表示方法ASCII (American Standard Code for Information Interchange)共128个常用字符,用7位二进制编码,从0到127l l控制字符:控制字符:0 03232、127127计计3434个
2、;个;l l普通字符:普通字符:9494个。个。2.1.3字符和字符串(非数值)的表示方法例如:例如:l l“ “a”a”字符编码为字符编码为11000011100001,对应的十进制数是,对应的十进制数是9797; 换行换行 0AH 100AH 10 回车回车 0DH 130DH 13 空格空格 20H 20H 32 32 0 0 9 30H9 30H39H 39H 48485757 A A Z 41HZ 41H5AH 5AH 65659090 a a z z 61H61H7AH 7AH 97971221222.1.3字符和字符串(非数值)的表示方法2.1.3字符和字符串(非数值)的表示方法
3、2、字符串的表示字符串是指连续的一串字符,通常方式下,它们占用主存中连续的多个字节,每个字节存一个字符。当主存字由2个或4个字节组成时,在同一个主存字中,既可按从低位字节向高位字节的顺序存放字符串的内容,也可按从高位字节向低位字节的次序顺序存放字符串的内容。2.1.3字符和字符串(非数值)的表示方法eg. IF AB THEN READ(C) 汉字编码体系汉字编码:汉字编码:汉字是平面结构,字数多,字形复杂,汉字字符汉字是平面结构,字数多,字形复杂,汉字字符集是一个很大的集合,在人们日常生活交往中,集是一个很大的集合,在人们日常生活交往中,经常使用的汉字约有经常使用的汉字约有60006000多
4、个,使用多个,使用7 7位二进制位二进制编码是不够的,因此规定用编码是不够的,因此规定用1616位二进制代码表示位二进制代码表示汉字。汉字。每个每个ByteByte仅用低仅用低7 7位,因此两个字节可表示位,因此两个字节可表示128x128=16384128x128=16384个汉字。为了与标准个汉字。为了与标准ASCIIASCII码兼码兼容,每个字节中都不能再用容,每个字节中都不能再用0-320-32、127127共计共计3434个个编码,所以每个字节只能有编码,所以每个字节只能有128-34=94128-34=94个编码。个编码。这样,双七位实际能够表示的字数是:这样,双七位实际能够表示的
5、字数是:9494949488368836个。个。 汉字编码体系汉字输入码汉字输入码:由输入设备产生的汉字编码,如区:由输入设备产生的汉字编码,如区位码、国标码、拼音码、新全拼、新双拼、五笔位码、国标码、拼音码、新全拼、新双拼、五笔字型码、简码、表形码、自然码、智能字型码、简码、表形码、自然码、智能ABCABC汉字汉字输入码等。输入码等。l l如如“ “保保” ”字,用全拼,输入码为字,用全拼,输入码为“ “BAO”BAO”,l l用区位码,输入码为用区位码,输入码为“ “1703 ”1703 ”,l l用五笔字型则为用五笔字型则为“ “WKS”WKS”国标码国标码:国家汉字标准代码,简称国标码
6、,是中:国家汉字标准代码,简称国标码,是中华人民共和国的中文常用汉字编码集,华人民共和国的中文常用汉字编码集,GB 2312GB 2312。 汉字编码体系汉字内码汉字内码:也叫机内码,用于计算机内部存储和:也叫机内码,用于计算机内部存储和处理的汉字编码,通常由该汉字的国标码的两个处理的汉字编码,通常由该汉字的国标码的两个字节最高位置字节最高位置“ “1”1”形成。形成。汉字字形码汉字字形码:也叫字模码,确定一个汉字字形点:也叫字模码,确定一个汉字字形点阵的编码,用于汉字显示和打印输出。保留在存阵的编码,用于汉字显示和打印输出。保留在存储介质中的全部汉字字形码称为字库。储介质中的全部汉字字形码称
7、为字库。汉字地址码汉字地址码:表示汉字字形信息在汉字库中的地:表示汉字字形信息在汉字库中的地址,用于在汉字库中查找汉字字形信息的汉字地址,用于在汉字库中查找汉字字形信息的汉字地址码等。址码等。 汉字编码体系区位码:l l将字符按其排列位置划分成将字符按其排列位置划分成9494区区9494位,以字位,以字符所在区位编码。符所在区位编码。例如:区位码4687表示区号为46,在该区中的位置为87。区号区号区中位置区中位置 汉字编码体系区位码的编码范围是:区位码的编码范围是:010101019494 9494 (0101H0101H5E5EH5E5EH)1.941.94 19 19区区 1015101
8、5区空区空 16551655区区 56875687区区 88948894区空区空 字母、数字、各种符号等字母、数字、各种符号等 682682个个一级汉字一级汉字 37553755个个二级汉字二级汉字 30083008个个 汉字编码体系 区位码可变形为国标码: 国标码=区位码+2020H 国标码的取值范围: 2121H7E7EH 国标码、区位码均用两个字节组成一个汉字编码。 汉字编码体系机内码 汉字在设备或信息处理系统内部最基本的表达形式。汉字机内码国标码8080H 即两个字节的最高位置1机内码范围是:A1A1HFEFEH 汉字编码体系汉字汉字 国标码国标码 汉字内码汉字内码 中中 8680(0
9、1010110 01010000)B (11010110 11010000)B 华华 5942(00111011 00101010)B (10111011 10101010)B“西西”的区位码是的区位码是4687,求其内码?,求其内码?十进制区位码十进制区位码46872E57H (十六进制区位码十六进制区位码)4E77H (十六进制国标码十六进制国标码)CEF7H (十六进制内码十六进制内码) 汉字编码体系汉字字模码:汉字字形 汉字编码体系 汉字编码体系汉字字模码也称字型码,汉字字模的集合构成了汉字库。汉字地址码l l每个汉字字形码在汉字字库中的相对位移地址每个汉字字形码在汉字字库中的相对位移
10、地址l l地址码和机内码要有简明的对应转换关系地址码和机内码要有简明的对应转换关系输入字典输入字典汉字字库汉字字库汉字输入汉字输入系统系统输入码输入码内码内码内部处理内部处理内存内存通信通信显示显示打印打印字型码字型码字型码字型码字型码字型码地址码地址码内码内码国标码国标码 汉字编码体系汉字编码体系组组平面平面行行 字位字位最高位为0基本多文种平面(基本多文种平面(BMP):):0组组0平面,包含字母、音节及表意文平面,包含字母、音节及表意文字等。字等。例如:例如:A 41H(ASCII) 00000041H(UCS) 大大 3473H(GB2312) 00005927H(UCS其他汉字编码其
11、他汉字编码UCS码、码、Unicode码、码、GBK码、码、BIG5码等码等 国际标准:国际标准: 通用多八位编码字符集通用多八位编码字符集UCS(Universal Code Set)世界各种文字世界各种文字的统一的编码方案,一个字符占的统一的编码方案,一个字符占4个字节。分为:个字节。分为: 汉字编码体系汉字编码体系 Unicode码码 另一国际标准:采用双字节编码统一地表示世界上的主要文字。另一国际标准:采用双字节编码统一地表示世界上的主要文字。 其字符集内容与其字符集内容与UCSUCS的的BMPBMP相同。相同。 GBKGBK码码 GBKGBK等同于等同于UCSUCS的新的中文编码扩展
12、国家标准,的新的中文编码扩展国家标准,2 2字节表示一个汉字字节表示一个汉字 第一字节从第一字节从81HFEH81HFEH,最高位为,最高位为1 1; 第二字节从第二字节从40HFEH40HFEH,第二字节的最高位不一定是,第二字节的最高位不一定是1 1。 BIG5BIG5编码编码 台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440440个个符号,一级汉字符号,一级汉字5 4015 401个、二级汉字个、二级汉字7 6527 652个,共计个,共计13 06013 060个汉字。个汉字。 汉字编码体系数据校验码奇偶校验码: 在表示数据
13、的N位代码中增加一位奇偶校验位,使N1位中“1”的个数为奇数(奇校验)或偶数(偶校验)。 大多数计算机在设计时允许为每个字符的编码添加第9位,作为奇偶校验位。数据校验码奇校验 l l当除奇偶校验位以外,当除奇偶校验位以外,“ “1”1”的总位数为偶数时,的总位数为偶数时,将该位置为将该位置为1 1偶校验 l l当除奇偶校验位以外,当除奇偶校验位以外,“ “1”1”的总位数为偶数时,的总位数为偶数时,将该位置为将该位置为0 0下面通过一个实际的例子看一下奇偶校验位的使用方法。数据校验码字母 “A” 的ASCII码为0100 0001, 有偶数个“1”,因此:l l使用偶校验时,校验位记为使用偶校
14、验时,校验位记为 0 0 , 即:即: 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 l l使用奇校验时,校验位记为使用奇校验时,校验位记为 1 1 ,这样,这样1 1的总数的总数为奇数个,即:为奇数个,即: 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1校验位校验位数据校验码字母 “C” 的ASCII码为0100 0011, 有奇数个“1”,因此:l l使用偶校验时,校验位记为使用偶校验时,校验位记为1 1,这样,这样1 1的总数为的总数为偶数个,偶数个, 即:即: 1 0 1 0 0 0 0 1 1 l l使用奇校验时,校验位记为使用奇校验时,校验位记为 0 0 , 即:即: 0 0 1 0 0 0 0 1 1数据校验码海明校验码: 在有效信息代码中增加校验位,用来校验代码中“1”的个数是奇数(奇校验)还是偶数(偶校验),通过奇偶校验可以发现代码传输过程中的错误并自动校正。应用:用于计算机各部件之间信息传输以及计算机网络的信息传输。数据校验码循环冗余校验码(CRC)用于多位串行数据传送中的检错纠错处理,在 k 位数据位串行移位输出的过程中,用带有异或门控制的移位寄存器形成r 个校验位的值,跟随在数据位之后传送走。在接收端再对 k+r 位的码字进行合法与出错检查,若可能则自动改错。