Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
189 views
in Technique[技术] by (71.8m points)

python - 在Python源中使用UTF-8编码[重复](Working with UTF-8 encoding in Python source [duplicate])

This question already has an answer here:

(这个问题在这里已有答案:)

Consider:

(考虑:)

$ 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

How can I declare UTF-8 strings in source code?

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

  ask by Nullpoet translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

In the source header you can declare:

(在源标头中,您可以声明:)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
....

It is described in the PEP 0263 :

(它在PEP 0263中描述:)

Then you can use UTF-8 in strings:

(然后你可以在字符串中使用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)

This declaration is not needed in Python 3 as UTF-8 is the default source encoding (see PEP 3120 ).

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

In addition, it may be worth verifying that your text editor properly encodes your code in UTF-8.

(此外,可能值得验证您的文本编辑器是否正确编码了UTF-8中的代码。)

Otherwise, you may have invisible characters that are not interpreted as UTF-8.

(否则,您可能会有不可解释为UTF-8的不可见字符。)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...