“常”字在计算机内的编码为B3A3H,这是汉字的 (58) 编码。根据GB2312-80国家标准,“常”的国标交换码是 (59) ,它的区号是 (60) 。
A.3323H
B.1303H
C.B3A3 H
D.1903H
参考答案:A
解析: 为了适应计算机处理汉字信息的需要,1981年我国颁布了GB2312国家标准。该标准选出 6763个常用汉字(其中,一级常用汉字3755个,二级汉字3008个)和682个非汉字字符,并为每个字符规定了标准代码,以便在不同的计算机系统之间进行汉字文本交换。
GB2312字符集构成一个94行、94列的二维表,行号称为区号,列号称为位号,每一个汉字或符号在码表中的位置用它所在的区号和位号来表示。为了处理与存储的方便,每个汉字的区号和位号在计算机内部分别用一个字节来表示,这就构成汉字的区位码。例如,“学”字的区号为49,位号为07,它的区位码即为4907,用2个字节的二进制数表示为:00110001 00000111。
区位码无法用于汉字通信,因为它可能与通信使用的控制码(00H~1FH,即0~31)发生冲突。ISO022规定每个汉字的区号和位号必须分别加上32(即二进制数00100000),经过这样的处理而得的代码称为国标交换码,简称交换码。例如,“学”字的国标交换码为: 01010001 00100111,即十六进制敷5127H。
由于文本中通常混合使用汉字和西文字符,汉字信息如果不予以特别标识,就会与单字节的ASCⅡ码混淆。此问题的解决方法之一是将一个汉字看成是两个扩展 ASCⅡ码,使表示GB2312汉字的两个字节的最高位都为1。这种高位为1的双字节汉字编码即为GB2312汉字的机内码,简称为内码。因此,“学”字的机内码为:11010001 10100111,即十六进制数D1A7H。
本题中,已知“常”的内码是B3A3H = 10110011 10100011,为计算其国标交换码只需将每个字节减去 10000000,得到00110011 00100011 = 3323H。