【发布时间】:2011-03-11 08:34:44
【问题描述】:
我还在学习python,有一个疑问:
在 python 2.6.x 中,我通常像这样在文件头中声明编码(如PEP 0263)
# -*- coding: utf-8 -*-
之后,我的字符串就照常写了:
a = "A normal string without declared Unicode"
但是每次我看到一个 python 项目代码时,编码都没有在标题中声明。相反,它在每个字符串中声明如下:
a = u"A string with declared Unicode"
有什么区别?这样做的目的是什么?我知道 Python 2.6.x 默认设置 ASCII 编码,但是它可以被头部声明覆盖,那么每个字符串声明的意义何在?
附录: 好像我把文件编码和字符串编码混在一起了。谢谢你的解释:)
【问题讨论】:
-
# coding: utf8已经足够好了,不需要-*- -
@jellyfish 我猜你的意思是输入
# coding: utf-8。 -
应该是
#coding=utf-8。 python.org/dev/peps/pep-0263