什么是汉字编码
我们大多数人都知道计算机读取的是01编码,那么我们现在的计算机又是如何读入我们所输入和输出的汉字呢?
这就用到了汉字编码了。它可以读入和分析并处理我们的汉字,那么我们就需要引入几个概念了:机内码,国标码,区位码。
机内码
机内码又叫做汉字内码,汉字内码是指计算机系统中存储,处理,传输汉字时使用的统一编码形式。
- 而一个汉字用两个字节表示
- 每个字节用七个二进制位表示。
- 同时为了区分ASCII码,汉字内码两个字节的最高位都是1。
余下的2*7个位怎么办呢?别急,先往下看。
国标码
国标码我国有所标准:
该部分表的标准是GB2312—80。此外还有GBK,GB18030等,可自行查询。(ps:该图来自国家标准全文公开系统)
- 该字符集中规定汉字的排布为94列,94行。
- 与机内码不同的是,它最高位为0。
- 行列代码称为第1字节(高位字节)列序代码称为第2字节(低位字节)。
- 共收录7445个图形字符(682个非汉字图形符,6763个汉字)(ps:汉字又分为一级和二级,感兴趣可自行百度)
国标码和机内码的转换
如果你理解已以上概念,那么会不会有疑问国标码和机内码的区别在哪呢?不难发现,他们的最高位不同,那也正是这个区别。如下是B0A1H(H表示16进制下)对应汉字”啊“的两个码:
那么他们就差了一个80H,那么他们的转化就如下喽
那么”啊“的国标码就是3021H啦。
区位码
区位码是汉字输入方法中的序号码的一种
- 区位码是唯一一种无重码的输入码
- 它的编码是根据国标码中汉字的具体位置得出的
区位码与上列两码的转化
我们这里举一个”爸“的示例。
”爸“的机内码是B0D6H
那么他的国标码很容易得到为
区位码呢则是对国标码进行处理:
最后的区位码就是1654喽。
怎么样,是不是很简单,以后可以多套路套路朋友让他给你说1654,哈哈哈。
具体汉字的显示可自行学习,在此就不多做叙述了
(PS:以上部分内容来自网络,侵权删)
THE END
暂无评论内容