如何在Python 2.7中打印é为'%C3%A9
我想把 'é' 转换成 %C3%A9,这样可以用于URI请求。
我的代码是这样的:
import urllib
actor = "Bonnie Erbé"
我知道我可以手动转换它,方法是
print urllib.quote(u"Bonnie Erbé".encode("utf-8")).
但是,我想使用变量 actor。
当我尝试
print urllib.quote(actor)
它输出的是 'Bonnie%20Erb%E9'
,而不是 'Bonnie%20Erb%C3%A9'
。
谢谢。
1 个回答
2
让你的程序看起来像这样:
# encoding: utf-8
import urllib
actor = u"Bonnie Erbé"
print urllib.quote(u"Bonnie Erbé".encode("utf-8"))
print urllib.quote(actor.encode('utf-8'))
注意:
1) 有一行 encoding: utf-8
,这表示你的文本文件里会有非ASCII字符。
2) 把一个unicode字符串,而不是普通字符串,赋值给 actor
变量。
3) 对 actor
进行编码,和你对字面字符串编码的方式是一样的。