将 url 编码字符串 (utf-8) 转换为 python 中的字符串?

Converting url encoded string(utf-8) to string in python?

我有一个 url 编码的令牌 (utf-8)= "EC%2d2EC7" 我想将它转换为 "EC-2EC7" 即转换 %2d-.

>>> token = "EC%2d2EC7"
>>> token.encode("utf-8")
'EC%2d2EC7'

我也试过 urllib.quote 但结果相同。问题是token已经在utf-8所以不能转换?我能做什么?
我的 python 版本:2.7.10

您正在寻找 unquote 而不是解码。

urllib.unquote('EC%2d2EC7')

您可以使用 urllib.unquote:

from urllib import unquote

print unquote("EC%2d2EC7")

另一种方法是使用requests.utils.unquote:

from requests.utils import unquote

print unquote("EC%2d2EC7")

输出:

EC-2EC7