如何在Python 2.7中打印é为'%C3%A9

0 投票
1 回答
1524 浏览
提问于 2025-04-18 15:15

我想把 'é' 转换成 %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 进行编码,和你对字面字符串编码的方式是一样的。

撰写回答