Python基础知识初识 (二)

Python基础知识初识 (二)

编码初识

1.ASCLL
计算机:
计算机存储文件,存储数据,以及将一些数据信息通过网络发送出去,存储发送数据什么内容?底层都是01010101
计算机创建初期,美国,是7位一段,但是发明者说为了拓展,留出一位,这样就是8位一段句。8位有多少种可能 ?256种
编码相当于密码本,最早的密码本:
ASCII码:只包含:英文字母,数字,特殊字符。

0000 0001 : a
0000 0101 : b
8bit (位)== 1byte(字节)
'hello123': 8byte

2.GBK
GBK, 国标码占用2个字节. 对应ASCII码 GBK直接兼容.
英文字母,数字,特殊字符和中文。国标码只能中国使用,英文是按照ASCLL走的

0000 0001 :           a  1字节 8位 ASCLL

0000 0001 0100 0001 :  中 2字节 16位
主要记住GBK中文2字节,英文一个字节。

随着计算机的发展. 以及普及率的提高. 流⾏到欧洲和亚洲. 这时ASCII码就不合适了. 比如: 中⽂汉字有几万个. 而ASCII 多也就256个位置. 所以ASCII不行了. 这时, 不同的国家就提出了不同的编码用来适用于各自的语言环境. 比如, 中国的GBK, GB2312, BIG5, ISO-8859-1等等. 这时各个国家都可以使用计算机了.

3.Unicode
Unicode: 万国码:把世界上所有的文字都记录到这个密码本。
起初一个字符用2个字节表示: 就是一个中、英文都是2个字节

0000 0001 0000 0011:          a  2字节  16位

0000 0001 0100 0001:          中 2字节  16位

后来为了涵盖全部文字: 中、英文都是4个字节,这样太浪费资源了

0000 0001 0000 0011 0000 0001 0000 0011:  a 4字节  32位

0000 0001 0100 0001 0000 0001 0000 0011: 中 4字节  32位

4.utf-8
对Unicode进行升级:

0000 0011                                  a    1字节   8位

​0000 0011 0000 0011                        欧洲 2个字节  16位

0000 0011 0000 0011 0000 0011              中: 3个字节  24位

例子:'中国12he' : GBK: 8个字节 英文1字节,中2字节
'中国12he' : UTF-8: 10个字节 英文1字节,中3字节

上一篇:C语言位操作


下一篇:ASCII码值对应表