Python 3默认使用UTF-8编码源代码文件。我是否仍应在每个源文件开头使用编码声明,例如# -*- coding: utf-8 -*-
?
Python 3默认使用UTF-8编码源代码文件。我是否仍应在每个源文件开头使用编码声明,例如# -*- coding: utf-8 -*-
?
因为默认情况下使用的是UTF-8,所以只有在你偏离默认设置或者依赖其他工具(比如你的IDE或文本编辑器)来使用该信息时,你才需要使用声明。
换句话说,就Python而言,只有当你想要使用不同的编码时,你才需要使用该声明。
其他工具,如你的编辑器,可以支持类似的语法,这就是为什么PEP 263规范允许语法具有相当的灵活性(它必须是一条注释,其中包含文本coding
,后面跟着一个:
或=
字符和可选的空格,然后是一个被识别的编解码器)。
UTF-8
编码方式。对于多编码方式的项目:
如果一些文件采用了非
UTF-8
编码方式,即使是采用了UTF-8
编码方式的文件,也应该添加编码声明,因为黄金法则是“显式比隐式更好”。
# vim: set fileencoding=<encoding name> :
# -*- coding: utf-8 -*-
对于一些编辑器仍然有用,可以帮助切换到预期的编码格式。 - pepr