2024-03-29 13:49:29 发布
网友
Python 3默认情况下对源代码文件使用UTF-8编码。我还应该在每个源文件的开头使用编码声明吗?就像# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
UTF-8
对于多编码项目:
If some files are encoded in the non-utf-8, then even for these encoded in UTF-8 you should add encoding declaration too, because the golden rule is Explicit is better than implicit.
non-utf-8
Explicit is better than implicit.
configuring encoding for specific file in pycharm
# vim: set fileencoding=<encoding name> :
因为缺省值是UTF-8,所以您只需要在偏离缺省值时使用该声明,或者如果您依赖其他工具(如IDE或文本编辑器)来使用该信息。
换句话说,就Python而言,只有当您想使用不同的编码时,您才必须使用该声明。
其他工具(如编辑器)可以支持类似的语法,这就是为什么PEP 263 specification允许在语法上有相当大的灵活性(它必须是注释,文本coding必须在那里,后面是:或=字符和可选空白,后面是可识别的编解码器)。
coding
:
=
注意,它只适用于Python读取源代码的方式。它不适用于执行该代码,因此不适用于打印、打开文件或任何其他I/O操作如何在字节和Unicode之间转换。关于Python、Unicode和编码的更多细节,我强烈建议您阅读Ned Batchelder的Python Unicode HOWTO,或者非常彻底的Pragmatic Unicode talk。
不,如果:
UTF-8
,这是默认值。是的,如果
对于多编码项目:
参考:
configuring encoding for specific file in pycharm
因为缺省值是UTF-8,所以您只需要在偏离缺省值时使用该声明,或者如果您依赖其他工具(如IDE或文本编辑器)来使用该信息。
换句话说,就Python而言,只有当您想使用不同的编码时,您才必须使用该声明。
其他工具(如编辑器)可以支持类似的语法,这就是为什么PEP 263 specification允许在语法上有相当大的灵活性(它必须是注释,文本
coding
必须在那里,后面是:
或=
字符和可选空白,后面是可识别的编解码器)。注意,它只适用于Python读取源代码的方式。它不适用于执行该代码,因此不适用于打印、打开文件或任何其他I/O操作如何在字节和Unicode之间转换。关于Python、Unicode和编码的更多细节,我强烈建议您阅读Ned Batchelder的Python Unicode HOWTO,或者非常彻底的Pragmatic Unicode talk。
相关问题 更多 >
编程相关推荐