2.2 解释器及其环境

2.2.1 源码的编码

默认下,Python 的源码是用 UTF-8 编码的。在这种编码下,可以在字符串字面量、标识符、注释中同时使用全世界的各种语言。尽管标准库的标识符仅仅使用了 ASCII 的字符集,但是任何可移植代码应该遵循它。为了使所有这些字符都可以正确的显示出来,你的编辑器一定要识别 UTF-8,而且它也必须使用文件中所有字符都支持的字体。

声明一个字符编码而不是默认的编码,需要在文件的 第一行 加入下面的特殊指令。语法如下:

  1. # -*- coding: encoding -*-

在这里,编码需要是 Python 所支持的 codecs 之一。

举个栗子,如果要声明 Windows-1252 编码,你的源代码文件的第一行需要这样写:

  1. # -*- coding: cp-1252 -*-

首行规则 的一个特例是当你的源代码以一个 Unix “shebang” line 为开头。在这种情况下,编码声明就应该放在文件的第二行。举个栗子:

  1. #!/usr/bin/env python3
  2. # -*- coding: cp-1252 -*-