关于『区位码』、『国标码』、『机内码』的转换问题 |
您所在的位置:网站首页 › 计的国标码和内码 › 关于『区位码』、『国标码』、『机内码』的转换问题 |
先直接上结论
首先我门要把 区位码(十进制)D 转化为 区位码(十六进制)H 下面的区位码默认为十六进制 国标码=区位码+20 20 H 机内码=国标码+80 80 H 机内码=区位码+80 80 H 判断西文字符和中文字符的方式西文字符A0 A0H
如果要深入了解机制还要从最开的西文字符——ASCII码说起 1.西文字符——ASCII (1)128个字符集(8*16),32个控制字符,96个可打印 (2)7位编码,每个占 1字节 (3)常用的ASCII ——数字类0~9:“0”——30H(48) ——大写字母A~Z :“A”——41H(65) ——小写字母a~z :“a”——61H(97) 通过观察我们可以看到前两排为控制符 即 控制字符与可打印字符 相差20H 2.中文字符——GB2312 (1) GB,国标 GB2312 是国家在1980年提出的标准 ,其中6763个简体汉字和682个简体符号。整个字符集可以看作一个94X94的列表,通过区号和位号来表示某个字。 (2)区位号=区号+位号 为了可读性,区位码多以十进制表示 中文的字符一般占 2字节 (3)为了和ASCII码区别,区号和位号的最高位都为1
在计算机打印字符时 最早GB2312是决定把ASCII的字符部分覆盖,只保留不可打印的控制字符,因此在区位码转换为国标码需要加 20 20H (即ASCII表相差的两行)即 国标码=区位码+20 20 H 但是在这样做读取某些由ASCII 文章时出现了乱码,于是干脆就在ASCII的基础上 第一位变为1 即 机内码=国标码+80 80 H 参考GB2312区位码转机内码为什么要同时加上2020H和8080H? - 知乎
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |