import sys
print(sys.getdefaultencoding())
1.本节学习的是字符编码转换,这次来详细说下,只需要记住一个图就简单了
2.python3中编码默认为utf-8,可以用以下来验证
import sys
print(sys.getdefaultencoding())
(1)具体转换详见以下程序,只要记住以上这个图片,编码与解码就很容易理解。
s="你好"
print(s)
s_gbk=s.encode("gbk") #将unicode转变为gbk
print(s_gbk)
print(s.encode()) #默认是unicode,转码时会变成bytes类型;unicode与utf-8可以互相不用转码互相打印,但是unidoce与gbk不可以
gbk_to_utf8=s_gbk.decode("gbk").encode("utf-8") #先将gbk解码为unicode,在编码为utf-8,与print(s.encode()) 输出结果一致
print("utf-8",gbk_to_utf8)
(2)将文件编码转为gbk,需要在开头添加# -*- coding:gbk -*-,将文件编码为gbk
#-*- coding:gbk -*-
import sys
print(sys.getdefaultencoding())
s="你好"
print(s.encode("gbk")) #将字符串默认为unicode,将字符串 编码为gbk
print(s.encode("utf-8")) #将字符串编码为utf-8
print(s.encode("utf-8").decode("utf-8").encode("gb2312").decode("gb2312"))
#最后的decode解码为中文,编码-解码-编码-解码