输入码、区位码、内码、国标码的出现原因
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;
输入码、区位码、内码、国标码的出现原因相关推荐
- vc 文字转换到机内码,输入汉字和数字, 输出一串16进制码(数字-〉ASII码,汉字—〉国标码)...
// 可以用,此程序实现的是是文字转换到机内码.机内码=国标码+8080H,不过学习了.//此程序是利用汉字在机器内输出就是机内码的原理,直接保存的,其实挺简单.//输入一串汉字和数字的混合字符, 经 ...
- 一行Python代码生成酷炫/恶搞/表白二维码(内附源码)
一行代码制作酷炫的二维码 1.二维码能用的完吗? 很多人都扫过二维码,大部分人的印象都是黑白相间的小方块,实际上二维码是运用了计算机图像处理技术,组合编码原理的一种编码,其用黑白像素点的图像来代表二进 ...
- 输入码(外码),国标码,区位码,机内码,字型码的概念与关系
输入码: 又称汉字外码,无论是区位码或国标码都不利于输入汉字,为方便汉字的输入而制定的汉字编码,称为汉字输入码.汉字输入码属于外码.不同的输入方法,形成了不同的汉字外码.常见的输入法有以下几类: 按汉 ...
- mysql外码内码定义_刨根究底字符编码之六——简体汉字编码中区位码、国标码、内码、外码、字形码的区别及关系...
简体汉字编码中区位码.国标码.内码.外码.字形码的区别及关系 GB2312.GBK.GB18030等GB类汉字编码方案的具体实现方式是怎样的?区位码是什么?国标码是什么?内码.外码.字形码又是什么意思 ...
- 刨根究底字符编码之六——简体汉字编码中区位码、国标码、内码、外码、字形码的区别及关系
简体汉字编码中区位码.国标码.内码.外码.字形码的区别及关系 GB2312.GBK.GB18030等GB类汉字编码方案的具体实现方式是怎样的?区位码是什么?国标码是什么?内码.外码.字形码又是什么意思 ...
- 计算机底层:ASCII码、区位码、国标码、汉字机内码,还有字形码和输入输出编码之间的关系以及介绍
计算机底层:ASCII.区位码.国标码.汉字机内码之间的关系,还有字形码和输入输出编码之间的关系以及介绍 键盘上有:数字.字母.符合.这些都称作为字符,而它们的组合就叫做:字符串. ASCII 键盘上 ...
- 区位码,国标码,机内码转换
1.首先认识一下GBK和GB2312 gbk是gb2312的超集,gbk不光包括简体字还包括繁体字等一些其他字体. 2.GB2312和区位码 GB2312和GBK才有区位码之说,其他编码方式比如utf ...
- 区位码、国标码、机内码
目录 一.区位码 二.国标码 三.机内码 1. 西文机内码 2. 中文机内码 四.汉字的区位码.国标码.机内码转换 1. 区位码.国标码.机内码转换 2. 举例 五.点阵字型码 一.区位码 区位码是一 ...
- 大学计算机基础码,大学计算机基础字符的编码——区位码和国标码
<大学计算机基础字符的编码--区位码和国标码>由会员分享,可在线阅读,更多相关<大学计算机基础字符的编码--区位码和国标码(11页珍藏版)>请在人人文库网上搜索. 1.字符的编 ...
- 已知汉字“阿”的国标码为4834,则该汉字相应的区位码为____。
题目:已知汉字"阿"的国标码为4834,则该汉字相应的区位码为____. 书上的公式有: 汉字的国标码 = 汉字的区位码 + 20 20H 所以,汉字的区位码 = 汉字的国标码 - ...
最新文章
- 图解YARN--大数据平台技术栈17
- android textview 设置字体,Android TextView设置字体风格
- linux vim配置,打造ide
- 云的普及难易,云计算普及的难易
- windows安装MongoDB进度条卡住,window安装mongo系统错误 2,系统错误5的解决办法(转载)...
- 9张表格学会,子网划分
- hdu-3790最短路径问题
- cpu卡操作协议iso14443协议
- Web开发编程实用手册
- c语言学习-在一个三行三列的矩阵中求出数值最大的元素及其行/列下标并打印输出
- cin.get()和cin.getline()区别
- 对于软件测试四大误区的认识
- 【物理】概念的理解 —— 蒸馏、萃取
- 使用Asp.net MVC 2.0 +.NET 4.0 出现 “从客户端 ... 中检测到有潜在危险的 Request.Form 值”错误的解决办法...
- 利用rfcomm实现树莓派与手机通信_树莓派可以这样玩
- WebSocket通讯C#实例
- 如何按数字或者日期时间顺序对多个文件夹进行批量重命名?
- 如何在wince下添加和删除驱动(作者:wogoyixikexie@gliet)
- 可重入锁_什么是可重入锁?
- 基于sparkMLlib的机器学习_[1]_基本数据类型[4]分布式矩阵DistrubutedMatrix