计算机中字符的编码

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机中字符的编码

一个二进制数位简称为位(英文名称为bit)。计算机中最直接、最基本的操作就是对二进制位的操作。

一个二进制位可表示两种状态(0或1)。

两个二进制位可表示四种状态(00,01,10,11)。

位数多,所表示的状态就越多。

ASCII 码

ASCII 码是美国信息交换用标准代码(American Standard Codefor Information Inte rchange)。ASCII码虽然是美国国家标准,但它已被国际标准化组织(ISO)认定为国际标准,为世界公认,并在世界范围内通用。

ASCII码用一个8位二进制数(字节)表示,每个字节只占用了7位,最高位恒为0。7位ASCII码可以表示128(27=128)种字符,其中通用控制字符34个,阿拉伯数字10个,大、小写英文字母52个,各种标点符号和运算符号32个。

编码范围二进制十进制十六进制基本ASCII 码00000000~011111110~1270~7F

控制字符00000000~00100000、011111110~32、1270~1F、7F

数字00110000~0011100148~5730~39

大写字母01000001~010*******~9041~5A

小写字母01100001~0111101097~12261~7A

当最高位为0时,称为基本ASCII码,当最高位为1时,形成扩充的ASCII码,它表示数的范围为128~255,可表示128种字符。通常各个国家都把扩充的ASCII码作为自己国家语言文字的代码。

汉字编码

我国用户在使用计算机进行信息处理时,一般都要用到汉字。由于汉字是象形文字,字的数目很多,常用汉字就有3000~5000个,加上汉字的形状和笔画多少差异极大,因此,不可能用少数几个确定的符号将汉字完全表示出来,或像英文那样将汉字拼写出来。汉字必须有它自己独特的编码。

1. 汉字信息交换码(国标码)

《信息交换用汉字编码字符集·基本集》是我国于1980年制定的国家标准GB2312-80,代号为国标码,是国家规定的用于汉字信息处理使用的代码依据。

GB2312-80中规定了信息交换用的6763个汉字和682个非汉字图形符号(包括几种外文字母、数字和符号)的代码。

6763个汉字又按其使用频度、组词能力以及用途大小分成一级常用汉字3755个和二级常用汉字3008个。

一级汉字按拼音字母顺序排列;若遇同音字,则按起笔的笔形顺序排列;若起笔相同,则按第二笔的笔形顺序排列,依次类推。所谓笔形顺序,就是横、竖、撇、点和折的顺序。二级汉字按部首顺序排列。

在此标准中,每个汉字(图形符号)采用双字节表示。每个字节只用低7位,最高位恒为1。由于低7位中有34种状态是用于控制字符,因此,只有94(128-34=94)种状态可用于汉字编码。这样,双字节的低7位只能表示94×94=8836种状态。

编码范围二进制数码十进制数码基本ASCII 码00000000~011111110~127

控制字符00000000~00100000、011111110~32、127

可用汉字段00100001~0111111033~126 (1~94)

扩充ASCII 码10000000~11111111128~255

控制字符10000000~10100000、11111111128~160、255

GB2312-8010100001~11111110161~254 (1~94)

此标准的汉字编码表有94行、94列,其行号称为区号,列号称为位号。双字节中,用高字节表示区号,低字节表示位号。非汉字图形符号置于第1~11区,一级汉字3755个且于第16~55区,二级汉字3008个置于第56~87区。

每个图形字符的汉字交换码,均用两个字节的低7位二进制码表示。汉字国标码通常用十六进制数表示。

例如:“中”字的区号为54,位号为48,计算它的二进制数和十六进制数国标码。

解:先将区、位号分别加上32 :

54+32=86

48+32=80

分别转换为二进制数:

(86)10=01010110

(80)10=01010000

得到二进制数国标码为:

01010110 01010000。

最后通过8 4 2 1 ── 二进制取位法转换成十六进制汉字国标码为:5650。

又如“国”字的区号为25,位号为90,用以上相同的方法得到它的国标码为:

二进制:00111001 01111010

十六进制:397A

2. 汉字的机内码

汉字的机内码是供计算机系统内部进行存储、加工处理、传输统一使用的代码,又称为汉字内部码或汉字内码。目前使用最广泛的一种为两个字节的机内码,俗称变形的国标码。这种格式的机内码是将国标GB2312-80 交换码的两个字节的最高位分别置为l而得到的。其最大优点是机内码表示筒单,且与交换码之间有明显的对应关系,同时也解决了中西文机内码存在二义性的问题。

例如“中”的国标码为十六进制:

5650(01010110 01010000),

其对应的机内码为十六进制:

D6D0(11010110 11010000)。

同样,“国”字的国标码为:397A,其对应的机内冯为:B9FA。

汉字的机内码与国标码的关系:

◆十六进制:

机内码区号(16)=国标码高位字节+80H

机内码位号(16)=国标码低位字节+80H

◆十进制:

机内码区号=国标码高位字节(10)+128

机内码位号=国标码低位字节(10)+128

汉字的区位码与国标码的关系:

◆十六进制:

国标码高位字节=区位码区号(16)+20H

国标码低位字节=区位码位号(16)+20H

◆十进制:

国标码高位字节(10)=区位码区号+32

国标码低位字节(10)=区位码位号+32

汉字的区位码与机内码的关系:

◆十六进制:

机内码高位字节=区位码区号(16)+A0H

机内码低位字节=区位码位号(16)+A0H

◆十进制:

机内码高位字节(10)=区位码区号+160

机内码低位字节(10)=区位码位号+160

3. 汉字的输入码(外码)

汉字输入码是为了将汉字通过键盘输入计算机而设计的代码。汉字输入编码方案很多,其表示形式大多用字母、数字或符号。输入码的长度也不同,多数为四个字节。综合起来可分为流水码、拼音类输入法、拼形类输入法和音形结合类输入法几大类。

4. 汉字的字形码

汉字字形码是汉字字库中存储的汉字字形的数字化信息,用于汉字的显示和打印。目前汉字字形的产生方式大多是数字式,即以点阵方式形成汉字。因此,汉字字形码主要是指汉字字形点阵的代码。

汉字字形点阵有l6×16点阵、24×24点阵、32×32点阵、64×64点阵、96×96点阵、128×128点阵、256×256点阵等。

一个汉字方块中行数、列数分得越多,描绘的汉字也就越细微,但占用的存储空间也就越多。汉字字形点阵中每个点的信息要用一位二进制码来表示。对于16×16点阵的字形码,需要用32个字节(16×16÷8=32)表示;24×24点阵的字形码需要用72个字节(24×24÷8=72)表示。

汉字字库,是汉字字形数字化后,以二进制文件形式存储在存储器中而形成的汉字字模库。汉字字模库亦称汉字字形库,简称汉字字库。汉字字库可分为软汉字字库和硬汉字字库。

汉字字库文件存储在软盘或硬盘中,称为软汉字宇库。汉字字库存储在汉卡中,将汉卡安装在机器的扩展槽中,称为硬汉字字库,亦称汉卡。

相关文档
最新文档