机械制造技术051100(13 汉字编码与数值数据表示)
视频加载中...
因为英文字符个数较少,计算机用一个字节(ASCII)表示一个英文字符就可以了。但要存储或传输入一个汉字用一个字节可以吗?
出现频度最高的一级汉字有3755个,二级汉字3008个,一、二级汉字共有6763,加上常用符号,差不多7441个汉字符号,基本包括了99%以上常用字。由于一个字节最多只能表示256种状态,因此一个字节不能做到给每个汉字一个编码,可以考虑用两个字节组合在一起表示一个汉字。每个字节只用到第7位,最高位为0,这样只用两个字节的14比特表示汉字,可以表示汉字的数量为
=128*128=16KB,约1.6万个汉字。这种编码,称为汉字国标码(GB2312-80编码),为了在内存中区分汉字与英文编码,通常把国标码的每个字节的最高位置1,称为机内码。
国标码:
0
0
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
机内码:
1
1
B15
B14
B13
B12
B11
B10
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
汉字“我们是学生”的机内码保存在计算机中的样子如图:
地址
内存空间
对应汉字
***01
11001110
我
***02
11010001
***03
11000011
们
***04
11000111
***05
11001010
是
***06
11000111
***07
11010001
学
***08
10100111
***09
10101001
生
***10
11111010
“们”的机内码为“1100001111100011”,注意两个字节的最高都位为1,而国标码为“0100001101000111”,两个字节的最高位都为0。