默认情况下,Python 3对源代码文件使用UTF-8编码.我应该在每个源文件的开头使用编码声明吗?大约# -*- coding: utf-8 -*-
默认情况下,Python 3对源代码文件使用UTF-8编码.我应该在每个源文件的开头使用编码声明吗?大约# -*- coding: utf-8 -*-
因为默认值为is UTF-8,所以只有在偏离默认值,或者依赖其他工具(如IDE或文本编辑器)来使用该信息时,才需要使用该声明.
换句话说,as far as Python is concerned,只有当您想要使用不同的编码时,才必须使用该声明.
其他工具,例如编辑器,可以支持类似的语法,这就是为什么PEP 263 specification允许在语法上有相当大的灵活性(它必须是注释,文本coding
必须在那里,后面是:
或=
字符,以及可选的空格,后面是公认的编解码器).
请注意,它只适用于Python reads the source code的工作方式.它不适用于执行该代码,因此不适用于打印、打开文件或任何其他I/O操作如何在字节和Unicode之间转换.关于Python、Unicode和编码的更多细节,我强烈建议您阅读Ned Batchelder的Python Unicode HOWTO或非常全面的Pragmatic Unicode talk.