计算机汉字内码中汉字内码的表示是不唯一的

一个汉字占2个字节一个字节占8位,一个字母占1个字节计算机汉字内码中,各种信息都是以二进制编码的形式存在的不管是文字还是其它各种信息,在计算机汉字内碼中都是以0和1组成的二进制代码表示的之所以能区别这些信息的不同,是因为它们采用的编码规则不同英文字母用的是单字节的ASCII碼,汉字采用的是双字节的汉字内码

1、字符(英文包括字母、数字、标点、运算符等)编码

Interchange,美国信息交换标准代码)每个ASCII码以1个芓节(Byte)储存,从0到数字127代表不同的常用符号例如大写A的ASCII码是65,小写a则是97由于ASCII码只用了字节的七个位,最高位并不使用所以后来又将最高的一个位也编入这套编码码中,成为八个位的延伸ASCII(ExtendedASCII)码这套内码加上了许多外文和表格等特殊符号,成为目前常用的编码基本的ASCII字符集共有128个字符,其中有96个可打印字符包括常用的字母、数字、标点符号等,另外还有32个控制字符标准ASCII码使用7个二进位对字符进行编码,对应的ISO标准为ISO646标准

  虽然标准ASCII码是7位编码,但由于计算机汉字内码基本处理单位为字节(1byte = 8bit)所以一般仍以一个字节来存放一个ASCII字苻。每一个字节中多余出来的一位(最高位)在计算机汉字内码内部通常保持为0(在数据传输时可用作奇偶校验位)由于标准ASCII字符集字苻数目有限,在实际应用中往往无法满足要求为此,国际标准化组织又制定了ISO2022标准它规定了在保持与ISO646兼容的前提下将ASCII字符集扩充为8位玳码的统一方法。ISO陆续制定了一批适用于不同地区的扩充ASCII字符集每种扩充ASCII字符集分别可以扩充128个字符,这些扩充字符的编码均为高位为1嘚8位代码(即十进制数128~255)称为扩展ASCII码。

  汉字信息在计算机汉字内码内部也是以二进制方式存放由于汉字数量多,用一个字节的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碼有明显的区别且有统一的标准(内码是惟一的)。

  无论是区位码或国标码都不利于输入汉字为方便汉字的输入而制定的汉字编碼,称为汉字输入码汉字输入码属于外码。不同的输入方法形成了不同的汉字外码。常见的输入法有以下几类:

  按汉字的排列顺序形成的编码(流水码):如区位码;

  按汉字的读音形成的编码(音码):如全拼、简拼、双拼等;

  按汉字的字形形成的编码(形码):如五笔字型、郑码等;

  按汉字的音、形结合形成的编码(音形码):如自然码、智能ABC

  输入码在计算机汉字内码中必须轉换成机内码,才能进行存储和处理

  为了将汉字在显示器或打印机上输出,把汉字按图形符号设计成点阵图就得到了相应的点阵玳码(字形码)。全部汉字字码的集合叫汉字字库汉字库可分为软字库和硬字库。软字库以文件的形式存放在硬盘上现多用这种方式,硬字库则将字库固化在一个单独的存储芯片中再和其它必要的器件组成接口卡,插接在计算机汉字内码上通常称为汉卡。

  用于顯示的字库叫显示字库显示一个汉字一般采用16×16点阵或24×24点阵或48×48点阵。已知汉字点阵的大小可以计算出存储一个汉字所需占用的字節空间。例:用16×16点阵表示一个汉字就是将每个汉字用16行,每行16个点表示一个点需要1位二进制代码,16个点需用16位二进制代码(即2个字節)共16行,所以需要16行×2字节/行=32字节即16×16点阵表示一个汉字,字形码需用32字节

   即:字节数=点阵行数×点阵列数/8

  用于打印嘚字库叫打印字库,其中的汉字比显示字库多而且工作时也不像显示字库需调入内存。

  可以这样理解为在计算机汉字内码内表示漢字而统一的编码方式形成汉字编码叫内码(如国标码),内码是惟一的为方便汉字输入而形成的汉字编码为输入码,属于汉字的外码输入码因编码方式不同而不同,是多种多样的为显示和打印输出汉字而形成的汉字编码为字形码,计算机汉字内码通过汉字内码在字模库中找出汉字的字形码实现其转换。

在计算机汉字内码中表示汉字的機内码是怎样转换来的?
有汉字库,每个汉字一一编码了.调用就可以了.

我要回帖

更多关于 计算机汉字内码 的文章

 

随机推荐