字符编码和汉字编码(一)
计算机中的信息包括数据信息和控制信息,数据信息又可分为数值和非数值信息。非数值信息和控制信息包括了字母、各种控制符号、图形符号等,计算机内以二进制编码实行处理,这种对字母和符号实行编码的二进制代码称为字符代码(Character Code)。
常用的编码:
一、ASCII码包含标准ASCII 码和扩展ASCII 码
现在使用最普遍的编码是美国国家标准信息交换码即ASCII码(American Standard Code for Information Interchange)。基本的 ASCII 字符集共有 128 个字符,(高位为0,27=128个,十进制0---127),标准 ASCII 码使用 7 个二进位对字符实行编码,对应的 ISO 标准为ISO646 标准。
例如:大写字母A, 其ASCII码为01000001, 即ASC(A)=65
因为标准ASCII 字符集字符数目有限,在实际应用中往往无法满足要求。为此,国际标准化组织又制
定了ISO2022 标准,它规定了在保持与ISO646 兼容的前提下将ASCII 字符集扩充为8 位代码的统一方法。这些扩充字符的编码均为高位为1的8位代码(即十进制数128~255 ),称为扩展ASCII 码。
二、国标码
ASCII码的提出,有效的解决了西文文字的信息化问题,但对于汉字字符却完全不适用。为了满足计算机中使用汉字的需要,中国国家标准总局于1980年发布《信息交换用汉字编码字符集基本集》,标准号为GB 2312-1980,称为GB码或国标码。
国标码:汉字信息交换的代码,也称交换码。
GB2312-80标准采用区位码,将汉字编码分成94区与94位。用区码、位码表示,称为区位码。GB2312-80标准中共有汉字6763个:
一级汉字3755个,按汉字拼音字母顺序排列;
二级汉字3008个,按部首笔画汉字排列。
如第一个汉字“啊”出现在第16区的第01位上,其区位码为1601。
汉字编码一个汉字点两个ASCII码,即2个字节。
汉字编码在不同的处理阶段有不同的编码。
(1)汉字的输入:输入码
(2)输入码与内码的交换码:国标码
(3)汉字的机内表示:机内码
(4)汉字的输出:字形码(输出码:汉字点阵字库)
1.汉字输入码又称为外码
如拼音输入法、五笔输入法、区位码等
啊拼音码a  五笔字型码kbsk 区位码1601
国标区位码:把GB2312-80分为94区、每区分94位;是国标码的一种变形。
如:“啊”在第16区第01位,区位码为1601,请同学们配置区位码输入。
注意:用区位码输入(注意用主键区)不能用数字键盘的数字。
字符编码和汉字编码(二)
区位码与国标码的换算:国标码高位=区位码高位+20H  国标码低位=区位码低位+20H 例1:“啊”的区位码1601,算出国标码
步骤:(1)区码和位码分别转换成十六进制数表示;
(2)(区位码的十六进制表示)+2020H=国标码;
解:“啊”的区码16,位码是01,
对应的十六进制的区码是10,位码是01,
国标码为10+20=30H 01+20=21H 即3021H
3、机内码:计算机系统内部标识汉字的编码。
一个汉字由两个字节组成,为了与ASCII码区别,最高位均为“1”。
国标码和机内码的换算:内码高位=国际码高位+80H  内码低位=国际码低位+80H 例1中啊的机内码3021+8080=B0A1  UltraEdit软件显示
知道十六进制的机内码,也就知道这个汉字在计算机的处理用的二进制编码。
[例2]“大”字的区位码为2083,求该字的国标码和机内码
分析方法步骤:
(1)区码和位码分别转换成十六进制数表示
(2)(区位码的十六进制表示)+2020H=国标码;
(3)国标码+8080H=机内码
解:
1、该字的区号为20,位号为83,分别转换为十六进制表示为14H,53H
字符串长度255是多少个汉字2、1453H+2020H=3473H,得到国标码3473H
3、3473H+8080H=B4F3H,得到机内码为B4F3H
请同学们写出二进制编码 1011010011110011
汉字的区位码、国标码、内部码三者之间的转换关系:
国标码 = 区位码+2020H  内码 = 国标码+8080H  内码 = 区位码+A0A0
思考:
用UltraEdit软件输入“你好”得到内码C4 E3 BA C3,请同学们算出国标码、区位码,并用区位码输入检验你计算的结果是否准确.
你:3667 好:2635
4.字形码:汉字字模信息码
为了将汉字在显示器或打印机上输出,把汉字按图形符号设计成点阵图,就得到了相对应的点阵代码(字形码)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。