汉字区位表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)区位码先转换成十六进制数表示
(2)(区位码的十六进制表示)+2020H=国标码;
(3)国标码+8080H=机内码
区码和位码都是十进制数,换算为机内码时,要把区码和位码分别换算为16进制码1D和0D。
1D0D+A0A0=BDAD。
为什么要加A0A0?这是转换原理规定的。
具体过程
1.区位码(十进制)转换成区位码(十六进制)。
这里要把前两个位换成十六进制,然后后两位换成十六进制。
例如,某汉字的区位码是2913,这样把29转换为16进制数1D;再把位码13转换为16进制数为0D,得到十六进制数1D0D。
2.国际码=区位码(十六进制)+2020H
例如,1D0DH+2020H=3D2DH 得到国标码GB2312
3.汉字机内码=国际码+8080H
机内码就是3D2DH+8080H=BDADH
十六进制B0A1
先把区位码对应的十进制转换成十六进制,然后加上2020H变成国标码,最后在加上8080H 变成机内码,具体过程:
1.16->10H 01->01H
1601=1001H
2.1001H+2020H=3021H
3.3021H+8080H=B0A1H
汉字是两个字节组成的。
比如GB2312-80。
每个汉字及符号以两个字节来表示。
第一个字节称为“高位字节”(也称“区字节)”,第二个字节称为“低位字节”(也称“位字节”)。
“高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上 0xA0)。
由于一级汉字从16区起始,汉字区的“高位字节”的范围是0xB0-0xF7,“低位字节”的范围是0xA1-0xFE,占用的码位是 72*94=6768。
其中有5个空位是D7FA-D7FE。
例如“啊”字在大多数程序中,会以两个字节,0xB0(第一个字节) 0xA1(第二个字节)储存。
区位码=区字节+位字节(与区位码对比:0xB0=0xA0+16,0xA1=0xA0+1)。
我们通过键盘只能够输入键盘上有的字符,其实,按住 ALT 键,然后在数字键盘上按表示要输入字符的十进制代码值的键,等完成输入后,释放 ALT 键还可以输入键盘上没有的字符呢。
如果键入的第一个数字是“0”,该值将被识别为当前输入区域设置中的代码点或字符值。
例如,在当前的输入区域设置为“英语(美国)”时(代码页 1252:Windows Latin-1),按住 ALT 键,然后在数字键盘上键入“0163”将产生英镑符号£ (U+00A3)。
在当前输入区域是"Russia" (代码页 1251:Windows Cyrillic),相同的键顺序会产生西里尔大写字母 JE (U+0408)。
而如果键入的第一位数是“1”到“9”的任意数,该值将被识别为系统 OEM 代码页中的代码点。
根据在“控制面板”的“区域选项”中所指定的 Windows 系统区域设置,结果各有不同。
例如,如果您的系统区域设置是“英语(美国)”,代码页为 437(MS-DOS 拉丁美洲),那么只要按住 ALT 键,然后在数字键盘上键入“163”,就可以输入ú(U+00FA, 带重音符号的小写拉丁字母 U)。
如果系统区域设置是“希腊语”(OEM 代码页 737 MS-DOS 希腊),相同序列将产生希腊语小写字母 MU (U+03BC)。
新建一个文本文件,输入“中文”这两个字并保存,然后用UltraEdit等十六进制编辑器打开并用十六进制视图显示,可看到如下内容:
00000000h: D6 D0 CE C4 ; 中文
可知中文这两个字的十六进制分别是 0xD6D0、0xCEC4(即十进制的54992、52932),那么如果要输入“中”字,则只要按住Alt键,逐个输入其十进制数字54992即可。
汉字是世界上最庞大的字符集。
国家标准GB2312-80提供了中华人民共和国国家标准信息交换用汉字编码,简称国标码。
该字符集把常用汉字分成二级字库。
一级字库3755个汉字,通常占使用汉字的90%左右,按拼音字母顺序排列。
二级字库有3008个汉字,按部首顺序排列。
另外还收录了一些图形符号。
汉字和图形符号合计7445个。
国标GB2312-80中所有的汉字在表中都有对应的区位码。
汉字的机内码是指在计算机中表示一个汉字的编码。
机内码与区位码稍微有些区别,汉字区位码的区码和位码的取值均在1-94之间。
用机内码表示一个汉字需要占两个字节,分别称为高位字节和低位字节,这两位字节的机内码按如下规则表示:高位字节=区码+A0H,低位字节=位码+A0H(这里的H代表16进制数)。
例如,汉字“啊”的区位码为1601,区码和位码分别用十六进制表示即为1001H,它的机内码的高位字节为B0H,低位字节为A1H,机内码就是B0A1H。