万恶之源-再谈编码
1.is和==区别
id()内置函数
== 判断两边的值
is 判断内存地址
回顾编码
1. ASCII: 英文, 特殊字符, 数字, 8bit, 1byte
2. GBK: 中文 16bit, 2byte. 兼容ASCII
3. unicode: 万国码, 32bit 4byte. 兼容ASCII
4. UTF-8: 长度可变的unicode. 英文:8bit, 欧洲:16bit, 中文:24bit 3byte
python只能用ASCII
Python 有Unicode,默认的编码就是Unicode
内存里用的是Unicode.硬盘和网络传输用的是UTF-8活着GBK
2.encode()编码.获取到的是编码之后的结果.bytes
3.decode()解码.把byes编程我们熟悉的字符串
编码和解码的时候都需要制定编码格式.
s = "我是文字" bs = s.encode("GBK") # 我们这样可以获取到GBK的文字 s = bs.decode("GBK") # 解码 bss = s.encode("UTF-8") # 重新编码 print(bss)
# 把GBK转换成UTF-8
# 首先要把GBK转换成unicode. 也就是需要解码
# 然后需要进⾏重新编码成UTF-8