我们知道在Python源码的头文件中要声明编码方式,如果你不只是会用到ascii码,很多人都写得都有点差别:
#coding=utf-8
#coding:utf-8
#-*- coding:utf-8 -*-
那么怎样写才是有效地呢,哪些优势无效的呢?
可以查看下http://www.python.org/dev/peps/pep-0263/的解释
粗略的看下:
概要:
这个PEP的目的是介绍在一个Python源文件中如何声明编码的语法。随后Python解释器会在解释文件的时候用到这些编码信息。最显著的是源文件中对Unicode的解释,使得在一个能识别Unicode的编辑器中使用如FUT-8编码成为可能怎么声明呢?如果在Python中我们并没有声明别的编码方式,就是以ASCII编码作为标准编码方式的为了定义源文件的编码方式,一个魔法是的声明应当被放在这个文件的第一行或者是第二行例如: #coding=<encoding name>或者(使用流行编辑器中的格式化方式) #!/usr/bin/python# -*- coding: <encoding name> -*-或者 #!/usr/bin/python
# vim: set fileencoding=<encoding name> :不管怎么样,这些在第一行或者第二行的声明都要符合正则表达式"coding[:=]\s*([-\w.]+)"所以我们就可以知道为什么使用冒号或者等号都可以了,如果声明的编码python不能识别就会报错