步骤的简化
-
区位码的区和位分别加上32得到国标码, 再分别加上128得到机内码
-
区位码的区和位分别加上160得到机内码
-
区位码加上A0A0H = 机内码
示例: 我
我的区位码是4650
区位码 4650 = 46 50 = 2E 32H
国标码 2E32H + 2020H = 4E52H
机内码 4E52H + 8080H = 20050H + 32896H = 52946
说明
-
H表示十六进制
-
在windows中可以按下alt+机内码输入字符
-
2020H = 32 32: 由于GB2312对ASCII的32个控制字符进行保留, 所以将汉字编码向后偏移32位
-
8080H = 128 128: 为了兼容ASCII, 所以将最高位设为1, 也就是+ 100000000 = + 80
-
区位码: 根据GB2312-80标准, 国内所有的汉字或符号都有一个唯一的4位16进制的国标码和4位10进制的区位码; 其中前两位叫做区码, 后两位叫做位码
-
国标码: GB1312的规范编码
-
机内码: 微软为了解决GB2312和ASCII兼容问题, 将最高位设为1而产生的编码