【发布时间】:2012-12-14 12:31:14
【问题描述】:
默认情况下,Python 3 对源代码文件使用 UTF-8 编码。我还应该在每个源文件的开头使用编码声明吗?赞# -*- coding: utf-8 -*-
【问题讨论】:
标签: python python-3.x encoding utf-8
默认情况下,Python 3 对源代码文件使用 UTF-8 编码。我还应该在每个源文件的开头使用编码声明吗?赞# -*- coding: utf-8 -*-
【问题讨论】:
标签: python python-3.x encoding utf-8
UTF-8,这是默认值。对于多编码项目:
如果某些文件以
non-utf-8编码,那么即使对于这些 编码在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 必须在那里,然后是: 或 = 字符和可选空格,后跟可识别的编解码器)。
请注意,它仅适用于 Python 读取源代码的方式。它不适用于执行该代码,因此不适用于打印、打开文件或任何其他 I/O 操作如何在字节和 Unicode 之间进行转换。有关 Python、Unicode 和编码的更多详细信息,我强烈建议您阅读 Python Unicode HOWTO 或 Ned Batchelder 的非常详尽的 Pragmatic Unicode talk。
【讨论】:
# -*- coding: utf-8 -*- 对于某些编辑器在编辑源文件时切换到预期的编码可能仍然有用。