Python 源文件的有效编码



我正在尝试找出 Python 源文件的整个可能编码列表 - 即可以采用 PEP 263 编码规范的编码,如# -*- encoding: foo -*-.

此列表是否与codecs库文档中"标准编码"下给出的列表相同?如果没有,我在哪里可以找到实际列表?

(我知道该列表与CPython的/Lib/encodings/aliases.py中的唯一值集相同,或者等效地,与/Lib/encodings/中的文件名集相同,但我再次不确定。

是的,Python 源文件的有效编码正是codecs中列出的编码,至少在 CPython 中是这样。

CPython 的分词器io.open(<FILE>, "r", -1, <ENCODING>, None, None, False).readline计算值,然后使用该函数读取行(来源:CPythonParser/tokenizer.c的这些行(。因此,open()支持的任何编码在编码声明中也受支持。

另请参阅:Python 3 源文件支持哪些文件编码?及其答案

最新更新