每个图形字符的汉字交换吗均用两个字节的第七位二进制码表示每个字节的最高位 5

拜托拜托... 拜托拜托 展开
 我来答
EatingKun
2019-08-17 · TA获得超过5815个赞
知道大有可为答主
回答量:3185
采纳率:83%
帮助的人:867万
展开全部
汉字机内码的每个字节都大于128。这是为了解决与ASCII码的冲突问题。

GB2312将代码表分为94个区,对应第一字节;每个区94个位,对应第二字节,
两个字节的值分别为区号值和位号值加32(20H),因此也称为区位码。
01-09区为符号、数字区,
16-87区为汉字区,
10-15区、88-94区是有待进一步标准化的空白区。

GB2312将收录的汉字分成两级:
第一级是常用汉字计 3755个,置于16-55区,按汉语拼音字母/笔形顺序排列;
第二级汉字是次常用汉字计3008个,置于56-87区,按部首/笔画顺序排列。
故而 GB2312最多能表示6763个汉字

国标码并不等于区位码,它是由区位码稍作转换得到,其转换方法为:先将十进制区码和位码转换为十六进制的区码和位码,;这样就得了一个与国标码有一个相对位置差的代码,;再将这个代码的第一个字节和第二个字节分别加上20H,就得到国标码。如:“保”字的国标码为3123H,它是经过下面的转换得到的:1703D->1103H->+20H->3123H。国标码是汉字信息交换的标准编码,但因其前后字节的最高位为0,与ASCII码发生冲突,如“保”?字,国标码为31H和23H,而西文字符“1”和“#”的ASCII也为31H和23H,现假如内存中有两个字节为31H和23H,这到底是一个汉字?,还是两个西文字符“1”和“#”于是就出现了二义性,显然,国标码是不可能在计算机内部直接采用的,于是,汉字的机内码采用变形国标码,其变换方法为:将国标码的每个字节都加上128,即将两个字节的最高位由0改1,其余7位不变,如:由上面我们知道,“保”字的国标码为3123H,前字节为00110001B,后字节为00100011B,高位改1为10110001B和10100011B 即为B1A3H,因此,汉字的机内码就是B1A3H。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式