2汉字信息在计算机内部的表示

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020年4月5日4时7分第二章汉字信息在计算机内部的表示延边大学计算机科学与技术2/702020年4月5日4时7分内容ASCII码中文信息在计算机内的表示汉字代码常用汉字代码集Internet上的汉字交换码3/702020年4月5日4时7分§1ASCII码ASCII码扩展ASCIICJK-Roman4/702020年4月5日4时7分1.1ASCII码ASCII码是AmericanStandardCodeforInformationInterchange的简称。ISO于1991年定义相应的标准ISO/IEC646:1991,全称为信息交换用7-位编码字符集(ISO7-bitcodedcharactersetforinformationinterchange)。ASCII码用7位二进制数定义了128个字符,其中94个图形字符(可显示字符)‘0’-‘9’:30H-39H‘A’-’Z’:41H-5AH‘a’-’z’:61H-7AH30个控制字符1个空格字符和1个Del(删除)符5/702020年4月5日4时7分1.1ASCII码-布局6/702020年4月5日4时7分1.2扩展ASCII最简单的扩展方式:采用8位表示扩展ASCII码字符集。ISO8859的第1至第10部分(InformationProcessing—8BitSingle-ByteCodedGraphicCharacterSet)标准中定义了新增的128个码元的字符编码集。这10个部分分别定义了ASCII码和其扩展的字符集。7/702020年4月5日4时7分1.3CJK-RomanCJK-Roman是指在中、日、韩字符编码标准中开发的ASCII字符,分别称为:GB-Roman(中国根据ASCII码字符集指定的信息交换用的ASCII字符编码标准,代号为GB1988-89);CNS-Roman(台湾制订的ASCII码标准,代号为CNS5205-1989);JIS-Roman(日本国家指定的ASCII码标准,代号为JISX0201-1997);KS-Roman(韩国制订的国家ASCII码标准,代号为KSX1003:1993)。这些字符集的编码与ASCII码一样,采用7位二进制数编码,收录的字符也基本与ASCII码一样,只是个别字符作了调整。8/702020年4月5日4时7分1.3CJK-Roman-特殊字符码元值ASCII码GB-RomanCNS-RomanJIS-RomanKS-Roman0x24$(美圆)¥(人民币)$$$0x5C\(反斜杠)\(反斜杠)\(反斜杠)¥(日圆)₩(韩圆)0x7E~(波浪线)—(顶线)—(顶线)—(顶线)—(顶线)9/702020年4月5日4时7分§2中文信息在计算机内的表示概述ISO/IEC2022字符在ISO/IEC2022的代码空间汉字在ISO/IEC2022空间中的位置ISO/IEC2022的体系结构特点10/702020年4月5日4时7分2.1概述在计算机内表示中文信息最早出现在IBM、富士通、日立等计算机生产厂家的计算机中,但采用的编码形式互不兼容。为了通用性,国际标准组织(ISO)、国际电子电气工程师协会(IEEE)以及各个使用汉字的国家和地区,在计算机技术发展中,都制定了各种各样的汉字编码字符集。一般汉字在计算机内的表示都是通过扩充编码长度来实现。11/702020年4月5日4时7分2.2ISO/IEC2022ISO/IEC2022定义了七位代码和八位代码的空间及其代码空间扩充的技术。绝大多数计算机系统所采用的字符集,都是以ISO/IEC2022为基础:GB2312Big-5……12/702020年4月5日4时7分2.2ISO/IEC2022-单八位代码空间图13/702020年4月5日4时7分2.2ISO/IEC2022-单八位代码空间图(续)00-31(十六进制为00H-1FH):第一个控制字符集C0的编码区域32(十六进制为20H):Space127(十六进制为7FH):DELETE128-160(十六进制为80H-A0H):第二个控制字符集C1的编码区域33-126(GL)和161-254(GR):两个图形字符的编码区域14/702020年4月5日4时7分2.3字符在ISO/IEC2022的代码空间15/702020年4月5日4时7分2.4汉字在ISO/IEC2022空间中的位置16/702020年4月5日4时7分2.5ISO/IEC2022的体系结构特点代码空间狭小,凡是C0,C1控制字符相关的空间都回避不用;汉字编码没有利用80(十六进制)以上的空间。按国家/地区分别编码。需要一整套复杂的指明/调用的控制功能来区分代码空间中的字汇。17/702020年4月5日4时7分§3汉字代码什么是汉字代码汉字交换码汉字机内码汉字区位码交换码、区位码和内码关系代码页汉字编码字符集18/702020年4月5日4时7分3.1什么是汉字代码汉字代码是真实世界的汉字信息在计算机系统中的最基本表示。根据汉字信息在计算机内部使用的目的和存储的方式,汉字代码有各种不同的形式和称谓。最常使用的有交换码和内码等。19/702020年4月5日4时7分3.2汉字交换码汉字交换码是用于信息交换的汉字代码。可以用双字节、3字节和4字节表示。汉字交换码一般不能直接用于信息处理。例如,在GB2312中,“码”字的交换码为十六进制的42h/6Bh。无法与ASCII码的“Bk”相区别。在实际使用中,交换码必须转换为机内码。但是在国际标准ISO/IEC10646和Unicode中,交换码与机内码是一致的,因为此时的ASCII码也采用双字节表示。20/702020年4月5日4时7分5.3汉字机内码汉字机内码用于信息处理的汉字代码也称汉字处理码、处理码、机内码、内码汉字内码长度可以不同,通常是双字节对于单字节操作系统内核,汉字代码为了与ASCII码相区分,往往把内码的两字节(至少把第一个字节)的最高位(Bit7)置为1。21/702020年4月5日4时7分5.4汉字区位码汉字区位码是汉字交换码的另一种表示形式。在GB2312中,汉字交换码所占的方阵大小为94×94,若纵向定义为区号(取值范围为十进制数的0-94),横向定义为位号(取值范围为十进制数的0-94),则两个坐标明确了一个汉字的位置。区号和位号的编号都是从1开始,到94结束。例如,在GB2312-80中,“码”字所在的区号为“34”,位号为“75”,故其区位码为“3475”。22/702020年4月5日4时7分5.5交换码、区位码和内码关系在GB2312-80中,交换码、区位码、处理码之间存在着简单的转化关系。设交换码为JH(J为高位,H为低位,为十六进数),区位码为QW(Q为区号,W为位号,为十进制数),处理码为CL(C为高位,L为低位,为十六进制数),则:J=Q+32--再转换为十六进制数H=W+32--再转换为十六进制数C=J+80HL=H+80H23/702020年4月5日4时7分5.6代码页代码页实际上就是各个可用于信息处理的字符集。Microsoft公司在开发MS-DOS和Windows操作系统的多文种产品时,对每个具体的代码都赋予一个代号,该代号称为“代码页ID”。例如:中文GB内码的代码页ID=936;Big5的代码页ID=93224/702020年4月5日4时7分5.7汉字编码字符集按照一组无歧义的规则而定义的汉字字汇的有序集合。其中每一个汉字与它的代码表示之间具有一一对应关系。在信息处理技术中汉字编码字符集用于汉字信息的表示、交换、传输、处理、存储、输入及显示。在国际标准化组织ISO的定义中,“无歧义的规则”很重要,制定这些规则的目的是为了确保编码的唯一性,避免重码。25/702020年4月5日4时7分§4常用汉字编码字符集GB2312-80BIG-5内码识别问题ISO10646/UnicodeGB13000GBKGB18030-200026/702020年4月5日4时7分4.1GB2312-80GB2312-80:信息交换用汉字编码字符集(基本集)双字节内码每个字节使用低7位从“0000,0001”---“0101,1110”即1-0x5E(1-94)内码的空间:94*94=8836收录汉字6763个,符号682个27/702020年4月5日4时7分4.1GB2312-80(续)高位字节(1-94):94个区低位字节(1-94):94个位国标码与区位码如汉字“啊”,在第16区中的第1位,则国标码:1001(H)区位码:160128/702020年4月5日4时7分4.1GB2312-80(续)1-9区:682个符号(2、4、5、6、7、8、9区有空位164个)包括:一般符号(间隔、标点、运算、制表)202个序号60个数字22个希腊字母48个俄文字母66个汉语拼音26个拉丁字母52个日文假名169个汉语注音37个29/702020年4月5日4时7分4.1GB2312-80(续)10-15区:空88-94区:空16-87区:6763个汉字16-55区:一级汉字3755个55区有5个空位,从89-9456-87区:二级汉字3008个一级汉字按照音、笔形排列二级汉字按照部首排列30/702020年4月5日4时7分4.2BIG-5Big-5编码是台湾地区信息业常用的汉字编码字符集,可直接用作内码。台湾、香港、澳门等地使用取码范围:高位:0x81-0xfe低位:0x40-0x70,0xa1-0xfe31/702020年4月5日4时7分4.2BIG-5(续)Big5编码空间在一个94*157的矩阵中。Big5有94个区,每个区有157个位,因此最多可以容纳14758个码元。Big5中收录了13494个字符(其中,13053个汉字和441个非汉字图形字符)。32/702020年4月5日4时7分4.2Big-5-代码空间图33/702020年4月5日4时7分4.2Big-5-代码分布34/702020年4月5日4时7分4.2Big5-问题Big5中2级汉字的排列都采用按笔画数由少到多排列。Big5的设计者实际上是从JISC626-1978中抄了很多汉字。因为很多汉字既用于中文,又用于日文和韩文。Big5的许多字形与其说是中国汉字,倒不如说与日本汉字更象。另外,在Big5中出现了重复定义的字符:“兀”,编码为A461,C94A;35/702020年4月5日4时7分4.3内码的识别问题苏州大学CBD5D6DDB4F3D1A7苏州大学gb2312CC4BD6DDB4F38C57蘇州大學GBKC4ACA67BA46ABEC7BIG-536/702020年4月5日4时7分4.4ISO10646/Unicode背景ISO的一些会员国于1984年发起制定新的国际字符集编码标准。新标准由工作小组ISO/IECJTC1/SC2/WG2负责拟订(以下简称WG2),最后定案的标准命名为“UniversalMultiple-OctetCodedCharacterSet”(简称UCS),其编号则订为ISO/IEC10646。ISO10646的字符码长度被规定为定长的4個八位元(octet)。1991年1月,IBM、DEC、Sun、Xerox、Apple、Microsoft、Novell等成立了Unicode技术委员会(UnicodeTechnicalCommittee),负责Unicode字元搜集、整理、编码等工作。由於Unicode协会持续的游说和施压,WG2终于放弃原先选择的ISO2022八位元延伸编码结构,改采Unicode的编码方式,亦即连续编码不再避开C0和C1控制码区。1991年10月,历经几个月的协商之後,WG2和Unicode协

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功