Python基础 二进制与字符编码
1、二进制与字符编码
为什么计算机可以认识我?
· 它只认识0和1,不认识我
· 早期的程序员爸爸为了让计算机能够认识我,将我能够认识的符号和数字对应好,然后做成
一张交ASCII表,告诉计算机某种符号应该使用哪个整数来表示,‘A’使用了8个位置才装的下
我,在计算机中他们叫一个字节
A的二进制表示
0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
8bit (位)--> 1byte(字节)1024byte = 1kb 1024kB = 1MB 1024MB = 1GB 1024GB = 1TB
附ASCII表链接:ASCII 表 | 菜鸟教程
二进制(0,1)--> ASCII --> GB2321 --> GBK --> GB18030 --> Unicod(几乎包含了全世界的字符,中英文都用两个字节)--> UTF-8(英文用一个字节表示,中文用三个字节表示)
无论中文还是英文在计算机中都代表字符
例:
乘法的乘
Unicode汉字编码表中乘法代表 十六进制的 4e58 二进制为0100 1110 0101 1000 十进制就为20056
验证:
print(chr(0b0100111001011000))
print(ord('乘'))
结果得到完全一样
因此得到结论不管是中文还是英文在计算机中都算作字符,一个字符会对应一个整数,整数可以是二进制,八进制,十进制和十六进制,但是最终在计算机中都会为二进制