汉字的内码和外码

输入码:

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

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

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

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

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

国标码:

计算机只识别由0、1组成的代码,ASCII码是英文信息处理的标准编码,汉字信息处理也必须有一个统一的标准编码,所以国标码应运而生。所谓“国标码”,是指国家标准汉字编码。一般是指国家标准局1981年发布的《信息交换用汉字编码字符集(基本集)》,简称GB-2312。在这个集中,收进汉字6763个,其中一级汉字3755个,二级汉字3008个。一级汉字为常用字,按拼音顺序排列,二级汉字为次常用字,按部首排列。

区位码:

简单地理解的话,区位码就是国标码,但也是有些区别的,

在GB-2312中预留了一些空位,可以进行补充、扩展,经扩展的区位码就从数量、范围上超过了GB-2312(6763)了。上面是就大陆而言的,台湾、香港、和其他汉语国家,也是用区位码,但他们的区位号与大陆用的就不一定相同了。

机内码(汉字内码):

计算机还不能将国标码作为汉字在计算机中的机内码,因为会和ASCII码发生冲突,如“保”,国标码为31H和23H,而西文字符“1”和“#”的SCII也为31H和23H,现假如内存中有两个字节为31H和23H,;这到底是一个汉字?,还是两个西文字符“1”;和“#”呢,于是就有了冲突。所以国家标准规定将汉字国标码每个字节的最高位统一规定为“1”作为识别汉字代码的标志,首位是“0”即为字符,首位是“1”即为汉字,这样就形成了机内码。汉字在计算机中是用机内码来表示的。

区位码,国标码,机内码的转换

(1)区位码先转换成十六进制数表示

(2)(区位码的十六进制表示)+2020H=国标码;

(3)国标码+8080H=机内码

字型码

汉字输出码提供输出汉字时所需要的汉字字型,用以将机内码还原为汉字进行输出。由于汉字是由笔画组成的方字,所以对汉字来讲,不论其笔画多少,都可以放在相同大小的方框里,如用M行N列的小圆点组成的方块(称为汉字的字模点阵),那么每个汉字都可以用点阵中的一些点组成。每个点用一位二进制表示,有笔形的为1,否则为0,就可得到该汉字的字形码。全部汉字字码的集合叫汉字字库。

总的来说,为方便汉字输入而形成的汉字编码为输入码,属于汉字的外码,输入码因编码方式不同而不同。为在计算机内表示汉字而统一的编码方式形成汉字编码叫国标码,计算机还不能将国标码作为汉字在计算机中的表现形式,因为会和ASCII码发生冲突,所以又产生了汉字的机内码,机内码是惟一的。为显示和打印输出汉字而形成的汉字编码为字型码,计算机通过汉字内码在字模库中找出汉字的字型码,实现其转换。
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值