代码之家  ›  专栏  ›  技术社区  ›  APerson sanders

python源文件的有效编码

  •  1
  • APerson sanders  · 技术社区  · 6 年前

    我试图找出一个python源文件可能的编码的完整列表,也就是说,可以在 PEP 263 编码规范,如 # -*- encoding: foo -*-

    此列表是否与文档中为 codecs 图书馆,在 "Standard Encodings" ?如果没有,我在哪里能找到真正的名单?

    (我知道这个列表与cpython的 /Lib/encodings/aliases.py 中的文件名集。 /Lib/encodings/ ,但我还是不确定。)

    1 回复  |  直到 6 年前
        1
  •  0
  •   APerson sanders    6 年前

    是的,python源文件的有效编码正是 codecs ,至少在cpython。

    cpython的标记器计算该值 io.open(<FILE>, "r", -1, <ENCODING>, None, None, False).readline 然后使用该函数读取行(来源: these lines CPython的 Parser/tokenizer.c )因此,无论支持哪种编码 open() 在编码声明中也受支持。

    参见: Which file encodings are supported for Python 3 source files? 以及它的答案