关于『区位码』、『国标码』、『机内码』的转换问题

您所在的位置:网站首页 计的国标码和内码 关于『区位码』、『国标码』、『机内码』的转换问题

关于『区位码』、『国标码』、『机内码』的转换问题

2024-07-15 09:39| 来源: 网络整理| 查看: 265

先直接上结论

       首先我门要把  区位码(十进制)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