默认情况下,Python 3对源代码文件使用UTF-8编码。我还应该在每个源文件的开头使用编码声明吗?与# -*- coding: utf-8 -*-
答案 0 :(得分:84)
因为默认的是 UTF-8,所以当您偏离默认值时,或者依赖其他工具(如IDE或文本编辑器)来使用时,您只需要使用该声明那些信息。
换句话说,就Python而言,只有当你想使用不同的编码时才需要使用该声明。
其他工具(例如编辑器)可以支持类似的语法,这就是为什么PEP 263 specification允许语法具有相当大的灵活性(必须是注释,文本coding
必须在那里,后跟一个:
或=
字符和可选的空格,后跟一个识别的编解码器。)
请注意,它仅适用于Python 如何读取源代码。它不适用于执行该代码,因此不适用于打印,打开文件或任何其他I / O操作如何在字节和Unicode之间进行转换。有关Python,Unicode和编码的更多详细信息,我强烈建议您阅读Ned Batchelder的Python Unicode HOWTO或非常彻底的Pragmatic Unicode talk。
答案 1 :(得分:1)
UTF-8
,这是默认设置。对于多编码项目:
如果某些文件被编码为
non-utf-8
,那么即使是这些文件 在UTF-8
中进行编码,您也应该添加编码声明,因为 黄金法则是Explicit is better than implicit.
configuring encoding for specific file in pycharm
# vim: set fileencoding=<encoding name> :