信息编码--区位码,国标码,内码
计算机内的信息编码
西⽂字符编码
西⽂就是英⽂,数字,英⽂标点等等,每个ASCII码以⼀个字节(Byte)储存,国际通⽤的7位码⽤7位⼆进制数表⽰⼀个字符的编码,其编码范围是00000000-01111111,共27=128个字符。(最⾼位是0)也就是计算机内部使⽤⼀个字节存放⼀个7位ASCII码,b0--b6表⽰ASCII码值,最⾼位b7置0。
中⽂字符编码
后来,计算机传⼊中国并开始普及时,⾸要问题是解决中⽂编码问题,即刻出现了
ascii是几位二进制编码区位码(国家标准定义)
GB2312是⼀种中⽂的编码⽅式,具体是由区位码来实现的。GB2312将7445个字符编⼊⼀个 94*94 的⼆维表, ⾏就是 "区"、列就是 "位", 其中的⼀个汉字由区、位唯⼀定位,其对应的区、位合并就为区位码。⼀级汉字3755个(16-55 区: 常⽤汉字, 按拼⾳排序),⼆级汉字编3008个(56-87 区: ⾮常⽤汉字, 这是按部⾸排序的),682个⾮汉字(00-09 区为符号、数字、英⽂字符...制表符等)10-15区: 空⽩, 留待扩展;88-94 区: 空⽩, 留待扩展.
国标码:汉字信息交换码
汉字国标码=⼗六进制区号和位号分别加上20H,将 "区" 和 "位" 分别加上32(⼗六进制表⽰: 20H) 作为国标码。为什么要加上32呢,当时在制定GB2312之前,就决定覆盖掉ASCII中符号和英⽂字母部分,所以将其中的英⽂字母和符号重新编⼊GB2312中。⽽对于ASCII中前32个控制字符则继续沿⽤。所以保留前32字符,就需要将汉字编码向后偏移32,⼗六进制20H,这也就是区位码要加上20H得到国标码,这就是GB2312的编码规范。
内码:
计算机中存储的就是内码,但是这样并不能在计算机上使⽤,因为这样会和 ASCII 码混淆。所以⼜有规定把每个字节的最⾼位都从 0 换成 1,就是把每个字节(区和位)都再加上 128(⼗六进制的: 80H),从⽽得到 "机内码", 也就是前⾯所说的 "内码"。内码是微软为了解决冲突问题⽽采⽤的⽅式,本质上是修改了GB2312的编码标准,⽽这种⽅法最后产⽣的编码称为内码。
区位码 --->国标码
区和位分别 +32(20H)
国标码 --->内码
国标码区和位分别+128 (80H)
区位码 + A0A0H = 内码。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论