在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字符串?


#1楼

参考:https://stackoom.com/question/QOB8/在Python源中使用UTF-编码-重复


#2楼

Do not forget to verify if your text editor encodes properly your code in UTF-8. 不要忘记验证文本编辑器是否正确编码了UTF-8中的代码。

Otherwise, you may have invisible characters that are not interpreted as UTF-8. 否则,您可能会有不可解释为UTF-8的不可见字符。


#3楼

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的不可见字符。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值