在Python源代码中使用UTF-8编码

考虑:

$ cat bla.py 

u = unicode('d…')

s = u.encode('utf-8')

print s

$ python bla.py

File "bla.py", line 1

SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

如何在源代码中声明UTF-8字符串?

回答:

在源头中,你可以声明:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

....

在PEP 0263中进行了描述:

然后,你可以在字符串中使用UTF-8:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

u = 'idzie wąż wąską dróżką'

uu = u.decode('utf8')

s = uu.encode('cp1250')

print(s)

Python 3中不需要此声明,因为UTF-8是默认的源编码(请参阅PEP 3120)。

此外,值得验证你的文本编辑器是否已将代码正确编码为UTF-8。否则,你可能会有不被解释为UTF-8的不可见字符。

以上是 在Python源代码中使用UTF-8编码 的全部内容, 来源链接: utcz.com/qa/423619.html

回到顶部