为了避免ASCII码和国标码同时使用时产生二义性问题,大部分汉字系统都采用将国标码每个字节高位置1作为汉字机内码。这样既解决了汉字机内码与西文机内码之间的二义性,又使汉字机内码与国标码具有极简单的对应关系。
二进制只有1和0
汉字机内码,又称“汉字ASCII码”,简称“内码”。
汉字在计算机内部其内码是唯一的。因为汉字处理系统要保证中西文的兼容,当系统中同时存在ASCII码和汉字国标码时,将会产生二义性。例如:有两个字节的内容为30H和21H,它既可表示汉字“啊”的国标码,又可表示西文“0”和“!”的ASCII码。为此,汉字机内码应对国标码加以适当处理和变换。
“汉字机内码”为二字节长的代码,它是在相应国标码的“每个”字节最高位上加“1”
,即
汉字机内码=汉字国标码+8080H(即加10001000B)
例如,上述“啊”字的国标码是3021H,其汉字机内码则是B0A1H。
而加上8080H后,每个字节的最高位一定是1