python2和python3的字符编码:encode、decode
python2
python2的默认编码是ASCII码,在做编码转换时,通常需要以unicode作为中间编码,所以在python2中先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码
eg:
str.decode('utf-8').encode('utf-8')
python3
但是在python3中, 默认编码就是unicode,所以不需要解码,直接就可以编码成另一种编码
str--->(encode)--->bytes,bytes--->(decode)--->str
格式:
str.encode('utf-8')
eg:
s = "我是文字"
gbk_s = s.encode("GBK") # 我们这样可以获取到GBK的⽂字
# 把GBK转换成UTF-8
# ⾸首先要把GBK转换成unicode. 也就是需要解码
s = gbk_s.decode("GBK") # 解码
# 然后需要进行重新编码成UTF-8
utf_s = s.encode("UTF-8") # 重新编码
print(utf_s)