*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第二章 汉字信息在计算机内部表示,主要内容:,英文字符在计算机内部的表示,中文信息在计算机中的表示,汉字代码体系,汉字的排序,汉字编码字符集,2.1 英文字符在计算机内部的表示,1.ASCII码,ASCII码(America Standard Codefor for Information Interchange)美国信息交换标准码,作为数据传输的标准码。早期使用,7,个位来表示,英文字母、数字09及其它符号,,现在则使用8个位,最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值。,ASCII码字符标准中用,7位二进制数定义了128个字符,,其中,94,个为图形字符,,32,个为控制字符,,1,个为空格字符和一个Del键。,ASCII的编码空间如图所示,图中把7位二进制数分为,高3位作为列号,低4位,作为行号,并用十六进制表示,从而组成了一个ASCII编码空间。,0,1,2,3,4,5,6,7,0,控,制,字,符,区,1,图形字符区,2,3,4,5,6,7,8,9,A,B,C,D,E,F,2.扩展ASCII码,由于ASCII码只能表示94个字符,因此若需要使计算机还能够处理其他西文(如德文、法文、西班牙文等),则必须对ASCII码进行扩充。,最简单的方式是采用8位二进制编码来表示一个扩展的ASCII码字符集。,扩展ASCII码的编码空间如图所示。,GL图形区用作ASCII码,GR图形字符区为其他一个西方国家的语言文字编码。,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,0,C0控制字符区,C1控制字符区,1,GL图形字符区,GR图形字符区,2,3,4,5,6,7,8,9,A,B,C,D,E,F,为了尽可能多地使得英文与其他西方语言文字系统兼容,国际化组织在ISO8859的第110部分中定义了新增128个码元的字符编码集。,这10个部分分别定义了ASCII码和其扩展字符集。不同的扩展字符集用ISO8859后跟不同的数字表示。,扩展ASCII码采用,高4位作列号,低4位作行号,。,3.CJK-Roman,CJK-Roman是指在中日韩字符编码标准中开发的ASCII码,分别是GB-Roman、CNS-Roman、JIS-Roman 和KS-Roman。CJK-Roman除下列字符与ASCII码不一致之外,其他都与ASCII相同,。,码元值,ASCII,GB-Roman,CNS-Roman,JIS-Roman,KS-Roman,0 x24,¥,0 x5C,W,0 x7E,2.2 中文信息在计算机中的表示,为了能使汉字能够在计算机中通行,亚洲国家和地区除了制定CJK-Roman标准外。国际化标准组织()、国际电气电子工程师协会()以及各汉字使用国家和地区在计算机技术发展中,也制定了形式多样的汉字编码字符集。其中最具有代表性的是,ISO/IEC 2022,标准。,该标准定义了位代码和位代码的空间及其代码空间扩充技术。迄今为止,绝大多数计算机系统所采用的字符集都是以此标准作为基础。,从ASCII码的扩展中我们可以得出,如果采用多个位编码,则除去控制字符区之外,可以获得94*94*94个编码空间。,若采用双字节的7位代码,则为了保持与ASCII系统的兼容,通常采用高位置1的方法来区分汉字代码与ASCII代码。若采用3字节的7位代码,则可以用一个字节作为汉字代码,其余2个7位编码作为汉字代码。,参照ISO/IEC2022标准,中国大陆、中国台湾地区、日本和韩国等在标准的框架下制定了相应的字符编码标准。,2.3 汉字代码体系,1.汉字交换码,汉字交换码是用于信息交换的汉字代码,也称汉字传输码,在GB2312中用双字节表示。它用于汉字信息在计算机之间的传输。与ASCII码不同,汉字的这种代码表示一般不能直接用于信息处理,。,2.汉字处理码,汉字处理码是用于信息处理的汉子代码,也称汉字内码或汉字机内码。,汉字的内码在不同的汉字操作系统中的长度可以不同。为了表示汉字的数量,同时考虑到汉字信息的存储和传输效率等,通常中文操作系统用双字节长度表示汉字的内码,并把每个字节的高位置1。这样系统中的ASCII码字符就能够与汉字字符区分。,3.汉字输入码,汉字的输入码通常指汉字的键盘输入编码。根据汉字的属性,汉字的输入键盘码可以分为:音码、形码以及音形组合码。根据汉字编码说用的字符类别,则可以分别采用26个英文字母的大键盘编码和采用10个素质的小键盘编码。汉字的输入码通过键盘转换程序转换成汉字的机内码。,4.汉字字形码,汉字的字形码是表示汉字字形的字模数据,通常用点阵、矢量函数等方式表示。用点阵表示时,汉字字形码就是这个汉字字形点阵代码。,5.汉字地址码,汉字地址码是在一个汉字系统中,某一汉字字型信息存放在汉字库中的逻辑地址的编码。,相对于GB2312中16*16点阵字库,地址码和汉字码之间的关系:,地址码=(内码第一字节A1H)94+(内码第二字节)32,6.汉字区位码,汉字区位码既是一种输入码,也是汉字交换码的另一种表示形式。,在GB2312-80中,交换码、区位码、处理码之间存在着简单的转换,设交换码为JH(十六进制),区位码为QW(十进制),处理码为CL(十六进制),则:,J=Q+32 再转换为十六进制,H=W+32 再转换为十六进制,C=J+80H,L=H+80H,7.代码页,不同国家的人使用着不同语言的操作系统。然而,操作系统厂商若要根据各个国家和地区使用不同语言文字的人开发不同的操作系统,在成本、系统维护与升级等方面的开销太大。为此,微软公司在开发MS-DOS和Windows3.1的各种产品时,进一步将依赖于各具体平台的各文种的字符集加以整理,并对各个具体的代码页都赋予一个代号,称作“代码页ID”。,2.4汉字的排序,1.拼音序,按照拼音顺序对汉字进行排列。,为此首先要设计一张汉字与拼音的对照表,也要考虑到,一字多音,的特点。,2.笔画序,按照汉字书写的笔画多少来排序,由少到多或由多到少。,3.字符序,按照每个汉字的大写来排序。汉字的字符序通常是以GB2312-80为标准。,4.汉字属性数据库,汉字属性数据库是按照字符编码集中的汉字以及其属性,建立起相应的数据库。,2.5汉字编码字符集,按照一组无歧义的规则而定义的汉字词汇的有序几个称为,汉字编码字符集,。其中每一个汉字和代码之间具有一一对应的关系。在信息处理中,汉字编码字符集用于汉字信息表示、交换、传输、处理、存储、输入及显示。,1.GB2312-80,GB2312-80共收录7445个汉字及其他字符。,1986年国家标准局颁布GB2312-80的更正和增补版,简称为GB6345.1-86,区号,字符数量,内容说明,1,94,图形符号区,2,72,数字和标点符号区,3,94,全角的GB-Roman字符(全角ASCII码),4,83,平假名,5,86,片假名,6,48,大小写希腊字符,7,66,大小写西里尔字符,8,63,26个全角拼音字母和37个注音字母,9,76,制表符,10-15,0,未安排,16-55,3755,一级汉字,56-87,3008,二级汉字,88-94,0,未安排,2.Big5,Big5是中国台湾地区信息业常用的汉字编码字符集的一种代码空间,可直接用作处理码。,其编码采用双字节编码,编码范围是第一字节A 1-FE,第二字节40-7E,编码空间在一个,94*157,的矩阵中,最多可以容纳,14758个码元,。实际上Big5中收录了13494个字符,代码空间如下表所示。,区号,字符数,内容,1,157,155个图形符号,2个缩写符号,2,157,9个度量汉字,9个缩写字符,21个制表符,大小写拉丁符(少w-z),各种数字符号,3,127,小写拉丁字符“w-z”,48个大小写希腊字符,37个注音符,5个声符,33个缩写控制符,4-38,5401,一级汉字,39-40,0,未使用,41-89,7652,二级汉字,90-94,0,未使用,3.ISO/IEC 10646,ISO 10646是一个国际标准编号,该标准的英文全称为:Information Technology-Universal Multiple-Octet Coded Character Set,简称,UCS,。中文全称为:,信息技术-通用多八位编码字符集,亦称大字符集,。这一标准为世界各种主要语文的字符(包括繁体及简体的中文字)及附加符号,编订统一的内码。,ISO 10646标准由国际标准化组织ISO颁布,用来实现全球所有文种的统一编码。该标准被广泛应用于电子化地表示、传输、交换、处理、储存、输入及显现世界上各种语言的书面形式以及附加符号,。,国际标准化组织于1993年发表 ISO 10646 国际编码标准的首个版本,全名是 ISO/IEC 10646 第一部分ISO/IEC 10646-1:1993。它收录了 20902 个表意字符。2000年10月发表了第一部分的新版,新增收了6,582个表意字符于扩展区A里。ISO/IEC 10646 的第二部分在 2001 年发表,增收了 42711个表意字符于扩展区B里。,USC体系结构基于“,多8位”,。即4个8位。,这4个8位由左而右命名为组八位(G-octet)、面八位(P-octet)、行八位(R-octet)和位八位(C-octet)。,ISO10646规定其字符码的b32必须为0,因而整个编码空间可区分为128个组(00-7F),每一组一般由256个字面组成(00-FF),每个字面由256行组成(00-FF),每行包含256位(00-FF),为一个编码位置。除此之外,ISO10646规定每个字面的最后两个编码位置保留不用(FFFE和FFFF)。,所以ISO10646整个编码空间总共有256*128=32768个字面,每个字面为256*256=65534个编码位置,合计2147418112个编码位置。,下图描述了UCS的体系结构。,字面(32768),字面(32768)第0组第0字面称为“基本多文种字面”(BMP),辅助字面:24541个,用以收容WG2陆续收集、整理和编码的各国文字。,专用字面:8226个,WG2不予规定,保留供使用者自行添加ISO10646 未收录的字符。包含00组的0F、10和E0-FF共计34个字面,以及组60-7F共8192 个字面。,当计算机系统只使用BMP的字符码时,可以省略组八位和面八位。因而将字符由32位降为16位。,ISO10646所有字面中,目前仅有第0、第1、第2字面真正收录了编码字符。截至目前所收集、整理得非表意文字和符号部分,扣除已编入者,其余全部编入第字面,而表意文字部分扣除已经编入BMP者,其余全部编入第2字面。,ISO10646的BMP编码如下:,(1)0000-007F:基本拉丁字母区。,(2)0080-00A0:控制符区。其中0080-009F为C1控制区,00A0为软回车。,(3)00A1-1FFF:拼音文字区。收录各种拼音文字字符。,(4)2000-28FF:符号区,收录各种符号,包括标点符号、上下标、钱币符号、数字、箭头、数学符号、工程符号等。,(,5)2E80-33FF:中日韩符号区。收录康熙字典部首、中日韩辅助部首、注音符号等。,(6)3400-4DFF:中日韩认同表意文字扩充A区,总计收录6582个中日韩汉字。,(7)4E00-9FFF:中日韩认同的表意文字区,总计收录20902个中日韩汉字。,(8)A000-A4FF:彝族文字区。,(9)AC00-D7FF:韩文拼音组合字区,收录以韩文音符拼成的文字。,(10)D800-DFFF:S区,专用于UTF-16。,(11)E000-F8FF:专用字区,其内容不予规定,供使用者自行添加。,(12)F900-FAFF:中日韩兼容表意文字区,总共收录302个中日韩汉字。,(13)FB00-FFFD:文字表现形式