关于区位码 进制转换的~我快要疯了~

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:07:57
区位码转化为国际码是先由10进制转化为16进制,再加2020H
现在让我非常头大的是:我的进制转化怎么就和书上的对不上号~~~~
如::“保”?字的国标码为3123H,它是经过下面的转换得到的:1703D->1103H->+20H->3123H。
可是我的计算是:1703D—>6A7H(这是用计算器进制转换的计算器算的)
是不是有什么特殊的地方呀???
有追加分~~~~

不是整体转换,而是按高位+低位转换,比如“保”1703D是按照高位“17D”和低位“03D”分别转换成“11H”+“03H”,最后成为1103H,然后高位加20H,低位再加20H,成为3123H。

国标码规定,每个汉字(包括非汉字的一些符号)由2字节代码表示。每个字节的最高位为0,只使用低7位,而低7位的编码中又有34个是用于控制的,这样每个字节只有27 - 34 = 94个编码用于汉字。2个字节就有94×94=8836个汉字编码。在表示一个汉字的2个字节中,高字节对应编码表中的行号,称为区号;低字节对应编码表中的列号,称为位号。

汉字国标码的范围用二进制表示是: 00100001 00100001 01111110 01111110 (1+32)10 (1+32)10 (94+32)10 (94+32)10 7位ASCII码是128个字符组成的字符集。其中编码值0 31(00000000 00011111)不对应任何印刷字符,通常称为控制符,用于计算机通信中的通信控制或对计算机设备的功能控制。编码值32(00100000)是空格字符SP。编码值127(1111111)是删除字符DEL。

汉字国标码的起始二进制位置选择00100001即(33)10是为了跳过ASCII码的32个控制字符和空格字符。所以,汉字国标码的高位和低位分别比对应的区位码大(32)10或(00100000)2或(20)H,即: 国标码高位 = 区码 + 20H (H表示十六进制),国标码低位 = 位码 + 20H。