您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第二章-汉字信息在计算机内部的表示
第二章汉字信息在计算机内部表示主要内容:英文字符在计算机内部的表示中文信息在计算机中的表示汉字代码体系汉字的排序汉字编码字符集2.1英文字符在计算机内部的表示1.ASCII码ASCII码(AmericaStandardCodeforforInformationInterchange)美国信息交换标准码,作为数据传输的标准码。早期使用7个位来表示英文字母、数字0~9及其它符号,现在则使用8个位,最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值。ASCII码字符标准中用7位二进制数定义了128个字符,其中94个为图形字符,32个为控制字符,1个为空格字符和一个Del键。ASCII的编码空间如图所示,图中把7位二进制数分为高3位作为列号,低4位作为行号,并用十六进制表示,从而组成了一个ASCII编码空间。012345670控制字符区1图形字符区23456789ABCDEF2.扩展ASCII码由于ASCII码只能表示94个字符,因此若需要使计算机还能够处理其他西文(如德文、法文、西班牙文等),则必须对ASCII码进行扩充。最简单的方式是采用8位二进制编码来表示一个扩展的ASCII码字符集。扩展ASCII码的编码空间如图所示。GL图形区用作ASCII码,GR图形字符区为其他一个西方国家的语言文字编码。0123456789ABCDEF0C0控制字符区C1控制字符区1GL图形字符区GR图形字符区23456789ABCDEF为了尽可能多地使得英文与其他西方语言文字系统兼容,国际化组织在ISO8859的第1~10部分中定义了新增128个码元的字符编码集。这10个部分分别定义了ASCII码和其扩展字符集。不同的扩展字符集用ISO8859后跟不同的数字表示。扩展ASCII码采用高4位作列号,低4位作行号。3.CJK-RomanCJK-Roman是指在中日韩字符编码标准中开发的ASCII码,分别是GB-Roman、CNS-Roman、JIS-Roman和KS-Roman。CJK-Roman除下列字符与ASCII码不一致之外,其他都与ASCII相同。码元值ASCIIGB-RomanCNS-RomanJIS-RomanKS-Roman0x24$¥$$$0x5C\\\¥W0x7E~————2.2中文信息在计算机中的表示为了能使汉字能够在计算机中通行,亚洲国家和地区除了制定CJK-Roman标准外。国际化标准组织(ISO)、国际电气电子工程师协会(IEEE)以及各汉字使用国家和地区在计算机技术发展中,也制定了形式多样的汉字编码字符集。其中最具有代表性的是ISO/IEC2022标准。该标准定义了7位代码和8位代码的空间及其代码空间扩充技术。迄今为止,绝大多数计算机系统所采用的字符集都是以此标准作为基础。从ASCII码的扩展中我们可以得出,如果采用多个7位编码,则除去控制字符区之外,可以获得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+(内码第二字节)]×326.汉字区位码汉字区位码既是一种输入码,也是汉字交换码的另一种表示形式。在GB2312-80中,交换码、区位码、处理码之间存在着简单的转换,设交换码为JH(十六进制),区位码为QW(十进制),处理码为CL(十六进制),则:J=Q+32——再转换为十六进制H=W+32——再转换为十六进制C=J+80HL=H+80H7.代码页不同国家的人使用着不同语言的操作系统。然而,操作系统厂商若要根据各个国家和地区使用不同语言文字的人开发不同的操作系统,在成本、系统维护与升级等方面的开销太大。为此,微软公司在开发MS-DOS和Windows3.1的各种产品时,进一步将依赖于各具体平台的各文种的字符集加以整理,并对各个具体的代码页都赋予一个代号,称作“代码页ID”。2.4汉字的排序1.拼音序按照拼音顺序对汉字进行排列。为此首先要设计一张汉字与拼音的对照表,也要考虑到一字多音的特点。2.笔画序按照汉字书写的笔画多少来排序,由少到多或由多到少。3.字符序按照每个汉字的大写来排序。汉字的字符序通常是以GB2312-80为标准。4.汉字属性数据库汉字属性数据库是按照字符编码集中的汉字以及其属性,建立起相应的数据库。2.5汉字编码字符集按照一组无歧义的规则而定义的汉字词汇的有序几个称为汉字编码字符集。其中每一个汉字和代码之间具有一一对应的关系。在信息处理中,汉字编码字符集用于汉字信息表示、交换、传输、处理、存储、输入及显示。1.GB2312-80GB2312-80共收录7445个汉字及其他字符。1986年国家标准局颁布GB2312-80的更正和增补版,简称为GB6345.1-86区号字符数量内容说明194图形符号区272数字和标点符号区394全角的GB-Roman字符(全角ASCII码)483平假名586片假名648大小写希腊字符766大小写西里尔字符86326个全角拼音字母和37个注音字母976制表符10-150未安排16-553755一级汉字56-873008二级汉字88-940未安排2.Big5Big5是中国台湾地区信息业常用的汉字编码字符集的一种代码空间,可直接用作处理码。其编码采用双字节编码,编码范围是第一字节A1-FE,第二字节40-7E,编码空间在一个94*157的矩阵中,最多可以容纳14758个码元。实际上Big5中收录了13494个字符,代码空间如下表所示。区号字符数内容1157155个图形符号,2个缩写符号21579个度量汉字,9个缩写字符,21个制表符,大小写拉丁符(少w-z),各种数字符号3127小写拉丁字符“w-z”,48个大小写希腊字符,37个注音符,5个声符,33个缩写控制符4-385401一级汉字39-400未使用41-897652二级汉字90-940未使用用户定义区非汉字汉字用户定义区用户定义区非汉字汉字用户定义区81A1407E7FA0A1FEFFA1F9FEF9FE第一字节80FF00第二字节3.ISO/IEC10646ISO10646是一个国际标准编号,该标准的英文全称为:InformationTechnology-UniversalMultiple-OctetCodedCharacterSet,简称UCS。中文全称为:信息技术--通用多八位编码字符集,亦称大字符集。这一标准为世界各种主要语文的字符(包括繁体及简体的中文字)及附加符号,编订统一的内码。ISO10646标准由国际标准化组织ISO颁布,用来实现全球所有文种的统一编码。该标准被广泛应用于电子化地表示、传输、交换、处理、储存、输入及显现世界上各种语言的书面形式以及附加符号。国际标准化组织于1993年发表ISO10646国际编码标准的首个版本,全名是ISO/IEC10646第一部分「ISO/IEC10646-1:1993」。它收录了20902个表意字符。2000年10月发表了第一部分的新版,新增收了6,582个表意字符于扩展区A里。ISO/IEC10646的第二部分在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的体系结构。Group00Group01Group0000的字面字面(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字面真正收录了编码字符。WG2截至目前所收集、整理得非表意文字和符号部分,扣除已编入BMP者,其余全部编入第1字面,而表意文字部分扣除已经编入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:文字表现形式区,收录组合拉丁文字、希伯来文等。拼音文字中日韩统一汉字扩充集中日韩统一汉字彝文音节字和字根韩文S区专用字区中日韩兼容表意文字区文字表现形式区4.GBK编码GBK是在GB2312-80的基础上增加了ISO10646-1:1993的汉字。主要包括下列几个部分:GB23
本文标题:第二章-汉字信息在计算机内部的表示
链接地址:https://www.777doc.com/doc-4699114 .html