题目
在存储一个汉字内码的两个字节中,每个字节的最高位是 。A. 0和0B. 0和1C. 1和0D. 1和1
在存储一个汉字内码的两个字节中,每个字节的最高位是
。
A. 0和0
B. 0和1
C. 1和0
D. 1和1
题目解答
答案
D. 1和1
解析
考查要点:本题主要考查汉字内码的编码规则,特别是两个字节最高位的设置目的。
解题核心思路:汉字内码采用双字节存储,需确保与单字节ASCII码区分。关键点在于理解最高位的作用:通过设置最高位为1,避免编码冲突。
破题关键:
- ASCII码的最高位为0,单字节字符范围为0x00-0x7F。
- 汉字内码的两个字节最高位均为1,范围为0x80-0xFF,确保系统能识别为双字节编码。
汉字在计算机中存储时,通常使用双字节内码(如GBK、UTF-8中的双字节形式)。为了与单字节ASCII码区分,汉字内码的每个字节最高位必须设置为1。具体分析如下:
-
ASCII码的限制:
ASCII码仅使用7位,存储在一个字节中,最高位(第8位)为0。例如,字符'A'的编码为0x41(二进制01000001)。 -
汉字内码的设计:
汉字需要更多码位,因此采用双字节编码。每个字节的最高位设为1,例如GBK编码中,汉字内码范围为0x8140到0xFEFE。- 第一字节范围:
0x81-0xFE(二进制10xxxxxx) - 第二字节范围:
0x40-0xFE(二进制0xxxxxxx或1xxxxxxx,具体取决于编码标准)
- 第一字节范围:
-
避免冲突:
若某字节最高位为0,则可能被误认为单字节ASCII码。因此,双字节内码的两个字节最高位必须均为1,确保系统识别为汉字编码。