汉字区位码 转化为国标码和机内码
发布网友
发布时间:2022-05-26 08:57
我来回答
共4个回答
热心网友
时间:2023-10-10 03:15
朋友,我跟你解释的这些,必须对照ASC||字符表对照来看,
汉字国标码:将汉字分为两级,一级汉字3755个,以拼音为序;二级汉字3008个,以偏旁为序,国际码是两字节码,即用两个7位二进制数表示一个汉字,放在一个94*94的表格中,每个汉字的行号和列号组成一个编码,叫区位码:
就好比这个“中”字在第54行48列,区位码为5448;
为了与ASCII码兼容,在行号和列号上各加32(十进制),就构成了国标码:8680
汉字机内码用于汉字在机器内部的存储、交换、检索等操作。
计算机既要处理汉字,又要处理英文。因此计算机必须能区别汉字字符和英文字符。英文字符的的机内码是最高为为0的8位ASCII码。为了不与7位ASCII码发生冲突,把国标码每个字节的最高位由0改为1,其余位不变的编码作为汉字字符的机内码。
希望我的回答你能满意
热心网友
时间:2023-10-10 03:15
汉字系统中的过程包括区内码、国标码和机内码,其中的转换关系如下:
1.区位码(十进制)转换成区位码(十六进制)。
这里要把前两个位换成十六进制,然后后两位换成十六进制。
例如,某汉字的区位码是5448,这样把54转换为16进制数36;再把位码48转换为16进制数为30,得到十六进制数3630。
2.国际码=区位码(十六进制)+2020h
例如,3630h
2020h=5050h
得到国标码gb2312
3.汉字机内码=国际码+8080h
机内码就是5050h
8080h=d0d0h
ascii码是八位的一个字节
最高位为0,这样可以区分和汉字编码的区别。
unicode是欧洲提出来的编码。
如果大段的数据包中的字节是大于a0a0h的双字节信息,可以初步认定为汉字内容编码。
说明一下,汉字你在数据包中只能获得机内码。区位码是输入码,不在计算机当中的,呵呵
热心网友
时间:2023-10-10 03:16
1)区位码先转换成十六进制数表示
(2)(区位码的十六进制表示)+2020H=国标码;(两位两位相加)
(3)国标码+8080H=机内码 (两位两位相加)
举例:以汉字“大”为例,“大”字的区内码为2083
解:1、区号为20,位号为83
2、将区位号20 83转换为十六进制表示为14 53H
3、14 53H+20 20H=3473H,得到国标码34 73H
4、3473H+8080H=B4F3H,得到机内码为B4F3H
三、小结:
字符编码的两种表示方式:ASCII(字符的表示);GB2312(国标码,汉字编码)
热心网友
时间:2023-10-10 03:17
区位码、国标码与机内码的转换方法:
(1)区位码先转换成十六进制数表示
(2)(区位码的十六进制表示)+2020H=国标码;(两位两位相加)
(3)国标码+8080H=机内码 (两位两位相加)
举例:以汉字“大”为例,“大”字的区内码为2083
解:1、区号为20,位号为83
2、将区位号20 83转换为十六进制表示为14 53H
3、14 53H+20 20H=3473H,得到国标码34 73H
4、3473H+8080H=B4F3H,得到机内码为B4F3H
三、小结:
字符编码的两种表示方式:ASCII(字符的表示);GB2312(国标码,汉字编码)
http://tieba.baidu.com/f?kz=690806266