2020H、8080H

区位码、内码、国标码怎么转换非常简单,但是令人迷惑的是为什么要那么转换?这种转换不可能平白无故地那样转换!

首先,注意到一点,GB2312虽说是对中文编码,但是里面有对26个英文字母和一些特殊符号的编码,按理说这和ASCII重合的部分应该无需设置,沿用ASCII中不就行了?但是当时在制定GB2312之前,就决定覆盖掉ASCII中符号和英文字母部分,所以将其中的英文字母和符号重新编入GB2312中。而对于ASCII中前32个控制字符则继续沿用。所以保留前32字符,就需要将汉字编码向后偏移32,十六进制20H,这也就是区位码要加上20H得到国标码,这就是GB2312的编码规范。

而这样产生一个弊端,某些早期用ASCII码编码的英文文章无法打开,一打开就是乱码。比如:如“保”字,国标码为31H和23H,而西文字符“1”和“#”的ASCII也为31H和23H,现假如内存中有两个字节为31H和23H,这到底是一个汉字?还是两个西文字符“1”和“#”于是就出现了二义性,显然,国标码是不可能在计算机内部直接采用的,也就是说应该要兼容早期ASCII码而不是覆盖它!为了解决这个问题,将字节的最高位设为1,因为ASCII中使用7位,最高位为0。这样就区分开了ASCII和GB2312。这也是为什么要加上8080H。

其实我们说国标码才是GB2312的规范编码,后来的内码是微软为了解决冲突问题而采用的方式,本质上是修改了GB2312的编码标准,而这种方法最后产生的编码最后就被一些教科书称为内码。

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

国标码 = 区位码 + 2020H;
机内码 = 国标码 + 8080H;

输入码、区位码、内码、国标码的出现原因相关推荐

  1. vc 文字转换到机内码,输入汉字和数字, 输出一串16进制码(数字-〉ASII码,汉字—〉国标码)...

    // 可以用,此程序实现的是是文字转换到机内码.机内码=国标码+8080H,不过学习了.//此程序是利用汉字在机器内输出就是机内码的原理,直接保存的,其实挺简单.//输入一串汉字和数字的混合字符, 经 ...

  2. 一行Python代码生成酷炫/恶搞/表白二维码(内附源码)

    一行代码制作酷炫的二维码 1.二维码能用的完吗? 很多人都扫过二维码,大部分人的印象都是黑白相间的小方块,实际上二维码是运用了计算机图像处理技术,组合编码原理的一种编码,其用黑白像素点的图像来代表二进 ...

  3. 输入码(外码),国标码,区位码,机内码,字型码的概念与关系

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

  4. mysql外码内码定义_刨根究底字符编码之六——简体汉字编码中区位码、国标码、内码、外码、字形码的区别及关系...

    简体汉字编码中区位码.国标码.内码.外码.字形码的区别及关系 GB2312.GBK.GB18030等GB类汉字编码方案的具体实现方式是怎样的?区位码是什么?国标码是什么?内码.外码.字形码又是什么意思 ...

  5. 刨根究底字符编码之六——简体汉字编码中区位码、国标码、内码、外码、字形码的区别及关系

    简体汉字编码中区位码.国标码.内码.外码.字形码的区别及关系 GB2312.GBK.GB18030等GB类汉字编码方案的具体实现方式是怎样的?区位码是什么?国标码是什么?内码.外码.字形码又是什么意思 ...

  6. 计算机底层:ASCII码、区位码、国标码、汉字机内码,还有字形码和输入输出编码之间的关系以及介绍

    计算机底层:ASCII.区位码.国标码.汉字机内码之间的关系,还有字形码和输入输出编码之间的关系以及介绍 键盘上有:数字.字母.符合.这些都称作为字符,而它们的组合就叫做:字符串. ASCII 键盘上 ...

  7. 区位码,国标码,机内码转换

    1.首先认识一下GBK和GB2312 gbk是gb2312的超集,gbk不光包括简体字还包括繁体字等一些其他字体. 2.GB2312和区位码 GB2312和GBK才有区位码之说,其他编码方式比如utf ...

  8. 区位码、国标码、机内码

    目录 一.区位码 二.国标码 三.机内码 1. 西文机内码 2. 中文机内码 四.汉字的区位码.国标码.机内码转换 1. 区位码.国标码.机内码转换 2. 举例 五.点阵字型码 一.区位码 区位码是一 ...

  9. 大学计算机基础码,大学计算机基础字符的编码——区位码和国标码

    <大学计算机基础字符的编码--区位码和国标码>由会员分享,可在线阅读,更多相关<大学计算机基础字符的编码--区位码和国标码(11页珍藏版)>请在人人文库网上搜索. 1.字符的编 ...

  10. 已知汉字“阿”的国标码为4834,则该汉字相应的区位码为____。

    题目:已知汉字"阿"的国标码为4834,则该汉字相应的区位码为____. 书上的公式有: 汉字的国标码 = 汉字的区位码 + 20 20H 所以,汉字的区位码 = 汉字的国标码 - ...

最新文章

  1. 图解YARN--大数据平台技术栈17
  2. android textview 设置字体,Android TextView设置字体风格
  3. linux   vim配置,打造ide
  4. 云的普及难易,云计算普及的难易
  5. windows安装MongoDB进度条卡住,window安装mongo系统错误 2,系统错误5的解决办法(转载)...
  6. 9张表格学会,子网划分
  7. hdu-3790最短路径问题
  8. cpu卡操作协议iso14443协议
  9. Web开发编程实用手册
  10. c语言学习-在一个三行三列的矩阵中求出数值最大的元素及其行/列下标并打印输出
  11. cin.get()和cin.getline()区别
  12. 对于软件测试四大误区的认识
  13. 【物理】概念的理解 —— 蒸馏、萃取
  14. 使用Asp.net MVC 2.0 +.NET 4.0 出现 “从客户端 ... 中检测到有潜在危险的 Request.Form 值”错误的解决办法...
  15. 利用rfcomm实现树莓派与手机通信_树莓派可以这样玩
  16. WebSocket通讯C#实例
  17. 如何按数字或者日期时间顺序对多个文件夹进行批量重命名?
  18. 如何在wince下添加和删除驱动(作者:wogoyixikexie@gliet)
  19. 可重入锁_什么是可重入锁?
  20. 基于sparkMLlib的机器学习_[1]_基本数据类型[4]分布式矩阵DistrubutedMatrix

热门文章

  1. 掌握4要素,做喜剧短视频剧本简单高效
  2. 劳务公司招聘系统v1.0.82 企业招聘 求职招聘 劳务报名
  3. 有了菜鸟驿站,送货上门还是不是快递的标配?
  4. css文字定位最右边,CSS 控制文字定位
  5. DS18B20序列号的读取
  6. Java找对象笑话_找对象相亲的笑话几则,爱情笑话
  7. 快速体验ClickHouse Cloud
  8. 1-6 CAD基础 椭圆(ellipse)
  9. 昵称脱敏只显示第一个字剩下的显示星号
  10. 机械革命深海泰坦 X8 Pro 怎么样?测评值得买吗?