我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有
0
和
1
两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从
00000000
到
11111111
。
ASCII
因为计算机的诞生是在美国,所以一开始只需要存储a到Z英文字母和键盘上面的字符和控制字符等。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。
ASCII码一共规定了128个字符的编码。如下图所示:这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0
。例如:大写的字母A
是65(二进制01000001
)。
英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号,它就无法用 ASCII 码表示。于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。比如&#x