python中迷茫的编码问题

1.理清一些知识点:

python默认的编码格式: ASCII(py2) unicode(py3)

查看默认编码:sys.defaultencoding

修改默认编码:#coding = utf-8

unicode是一种编码标准 其实就是还没编码 具体的实现标准可能是utf-8,utf-16,gbk ……

python中str的编码格式: unicode str不能再解码(解码,把别的编码格式变成unicode)

2.encode和decode(都跟unicode有直接关系)

看个例子

str1.encode('utf-8')	#把unicode对象按照utf-8格式进行**编码**					unicode对象  -->   utf-8
str2.decode('utf-8')	#把utf-8编码格式的一段东西进行**解码**成unicode对象		utf-8   	 -->   unicode对象

3.requests中的输出问题

来自官方的中文文档
请求发出后,Requests 会基于 HTTP 头部对响应的编码作出有根据的推测。当你访问 r.text 之时,Requests 会使用其推测的文本编码。你可以找出 Requests 使用了什么编码,并且能够使用 r.encoding 属性来改变它
这意味着:他会自己尝试解码,你也可以自己设置

r.encoding = 'utf-8'

4.文件保存问题

#错误示范
file = open('data','w')		#在window中,会默认以gbk格式保存编码,这是错误的,毕竟我们使用utf-8的

#正确示范
file = open('data','w',encoding='utf-8')
原文地址:https://www.cnblogs.com/cenzhongman/p/6918832.html