第1个回答 2018-07-29
Python代码里的中文
代码第一行(如果有脚本标记则是第二行)可以按照PEP8形式指定本代码文件的编码类型。若不指定则按照ascii(py2.x)或utf-8(py3)
你需要了解的内容
清楚知道包含中文的文件是用的什么编码
清楚知道自己输出端(命令行?html?GUI?)用什么编码
清楚知道编码的基本知识
你需要的python相关内容
以python2.7.x为例:
print/file.write等实质上只输出str对象,如果输出内容不是str对象,则使用str函数进行转换
str函数是个壳,实质是调用对象方法__str__
encode函数是将一个unicode类按照指定的编码(如果不指定则使用defaultencoding)转换为不带编码标记的str类
decode函数是将一个str类按照指定编码(如果不指定则使用defaultencoding)转换为使用utf-8编码的unicode类
直接print一个容器(dict/list/tuple)的时候不会对其中的字符串进行编码,因此看到的非ascii字符集内容将会以\xAA或者\uAAAA之类的形式输出
Python3中,str行为与py2的unicode行为一致;bytes行为与py2的str行为一致。本回答被网友采纳