计算机中信息的编码 在计算机中,各种信息都是以二进制编码的形式存在的;也就是说,不管是文字、图形、声音、动画,还是电影等各种信息,在计算机中都是以0和1组成的二进制代码表示的;计算机之所以能区别这些信息的不同,是因为它们采用的编码规则不同.比如:同样是文字,英文字母与汉字的编码规则就不同,英文字母用的是单字节的ASCII码,汉字采用的是双字节的汉字内码;但随着需求的变化,这两种编码有被统一的UNICODE码(由Unicode 协会开发的能表示几乎世界上所有书写语言的字符编码标准)所取代的趋势;当然图形、声音等的编码就更复杂多样了.这也就告诉我们,信息在计算机中的二进制编码是一个不断发展的、高深的、跨学科的知识领域. 1、字符(英文,包括字母、数字、标点、运算符等)编码 字符的编码采用国际通用的ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码),每个ASCII码以1个字节(Byte)储存,从0到数字127代表不同的常用符号,例如大写A的ASCII码是65,小写a则是97.由于ASCII码只用了字节的七个位,最高位并不使用,所以后来又将最高的一个位也编入这套编码码中,成为八个位的延伸ASCII(ExtendedASCII)码,这套内码加上了许多外文和表格等特殊符号,成为目前常用的编码.基本的ASCII字符集共有128个字符,其中有96个可打印字符,包括常用的字母、数字、标点符号等,另外还有32个控制字符.标准ASCII码使用7个二进位对字符进行编码,对应的ISO标准为ISO646标准.下表展示了基本ASCII字符集及其编码: 字母和数字的ASCII码的记忆是非常简单的.我们只要记住了一个字母或数字的ASCII码(例如记住A为65,0的ASCII码为48),知道相应的大小写字母之间差32,就可以推算出其余字母、数字的ASCII码. 虽然标准ASCII码是7位编码,但由于计算机基本处理单位为字节(1byte = 8bit),所以一般仍以一个字节来存放一个ASCII字符.每一个字节中多余出来的一位(最高位)在计算机内部通常保持为0(在数据传输时可用作奇偶校验位).由于标准ASCII字符集字符数目有限,在实际应用中往往无法满足要求.为此,国际标准化组织又制定了ISO2022标准,它规定了在保持与ISO646兼容的前提下将ASCII字符集扩充为8位代码的统一方法.ISO陆续制定了一批适用于不同地区的扩充ASCII字符集,每种扩充ASCII字符集分别可以扩充128个字符,这些扩充字符的编码均为高位为1的8位代码(即十进制数128~255),称为扩展ASCII码.下表展示的是最流行的一套扩展ASCII字符集和编码: 2、汉字的编码 (1)汉字内码 汉字信息在计算机内部也是以二进制方式存放.由于汉字数量多,用一个字节的128种状态不能全部表示出来,因此在1980年我国颁布的《信息交换用汉字编码字符集——基本集》,即国家标准GB2312-80方案中规定用两个字节的十六位二进制表示一个汉字,每个字节都只使用低7位(与ASCII码相同),即有128×128=16384种状态.由于ASCII码的34个控制代码在汉字系统中也要使用,为不致发生冲突,不能作为汉字编码,128除去34只剩94种,所以汉字编码表的大小是94×94=8836,用以表示国标码规定的7445个汉字和图形符号. 每个汉字或图形符号分别用两位的十进制区码(行码)和两位的十进制位码(列码)表示,不足的地方补0,组合起来就是区位码.把区位码按一定的规则转换成的二进制代码叫做信息交换码(简称国标码).国标码共有汉字6763个(一级汉字,是最常用的汉字,按汉语拼音字母顺序排列,共3755个;二级汉字,属于次常用汉字,按偏旁部首的笔划顺序排列,共3008个),数字、字母、符号等682个,共7445个. 由于国标码不能直接存储在计算机内,为方便计算机内部处理和存储汉字,又区别于ASCII码,将国标码中的每个字节在最高位改设为1,这样就形成了在计算机内部用来进行汉字的存储、运算的编码叫机内码(或汉字内码,或内码).内码既与国标码有简单的对应关系,易于转换,又与ASCII码有明显的区别,且有统一的标准(内码是惟一的). (2)汉字外码 无论是区位码或国标码都不利于输入汉字,为方便汉字的输入而制定的汉字编码,称为汉字输入码.汉字输入码属于外码.不同的输入方法,形成了不同的汉字外码.常见的输入法有以下几类: 按汉字的排列顺序形成的编码(流水码):如区位码; 按汉字的读音形成的编码(音码):如全拼、简拼、双拼等; 按汉字的字形形成的编码(形码):如五笔字型、郑码等; 按汉字的音、形结合形成的编码(音形码):如自然码、智能ABC. 输入码在计算机中必须转换成机内码,才能进行存储和处理. (3)汉字字形码 为了将汉字在显示器或打印机上输出,把汉字按图形符号设计成点阵图,就得到了相应的点阵代码(字形码). 全部汉字字码的集合叫汉字字库.汉字库可分为软字库和硬字库.软字库以文件的形式存放在硬盘上,现多用这种方式,硬字库则将字库固化在一个单独的存储芯片中,再和其它必要的器件组成接口卡,插接在计算机上,通常称为汉卡. 用于显示的字库叫显示字库.显示一个汉字一般采用16×16点阵或24×24点阵或48×48点阵.已知汉字点阵的大小,可以计算出存储一个汉字所需占用的字节空间.例:用16×16点阵表示一个汉字,就是将每个汉字用16行,每行16个点表示,一个点需要1位二进制代码,16个点需用16位二进制代码(即2个字节),共16行,所以需要16行×2字节/行=32字节,即16×16点阵表示一个汉字,字形码需用32字节. 即:字节数=点阵行数×点阵列数/8 用于打印的字库叫打印字库,其中的汉字比显示字库多,而且工作时也不像显示字库需调入内存. 可以这样理解,为在计算机内表示汉字而统一的编码方式形成汉字编码叫内码(如国标码),内码是惟一的.为方便汉字输入而形成的汉字编码为输入码,属于汉字的外码,输入码因编码方式不同而不同,是多种多样的.为显示和打印输出汉字而形成的汉字编码为字形码,计算机通过汉字内码在字模库中找出汉字的字形码,实现其转换.\x0d很不错哦,你可以试下
x瞌qeéi睽侉ju〓簪椹vx瞌l◥g15047710612011-9-12 15:19:50