一、编码格式:
- ASCII编码:128个,主要存储英文字符
- GB2312:中文常用字
- GBK:中文,包含生僻字–文件保存类型为(ANSI)
- Unicode:在内存中使用----对应的文件保存类型为(UTF-8)
- UTF-8:编码完全兼容ASCII,可以理解为ASCII是UTF-8中的一部分
UTF-8:是变长的字符串。存储汉字是节省空间的
UTF-16:存储汉字是2个字节,分大小端保存
UTF-32:一个字符,都是用4个字节去保存;缺点:太占空间
二、unicode与bytes的区别
- 计算机硬盘存储或网络传输,用的是bytes类型,需要从unicode类型encode为bytes
- 计算机字符串操作或者人来识别,用的是unicode 类型,从bytes类型decode获取
三、encode与encoding的区别
1.encode:
- encode是一个方法,只有字符串才能使用
2.encoding
- encoding是一个参数:
(1)open()方法读写文件时使用 ;
(2)在python文件的第一行去用:- 如果没有设定编码类型,那么python默认用的是utf-8来解码。
- (#encoding=gbk,将python编码改为gbk;如果不加此句,相当于encoding=utf-8)
四、编码之间的相互转换
- encode:将unicode类型转为bytes类型(gbk\utf-8等)
- decode:将bytes类型转为unicode类型(str)
1 如果不写参数,默认的decode()和encode()用的编码都是utf-8
>>> s