如何在python中解码(双重)'url-encoded'字符串

时间:2015-02-10 12:11:32

标签: python urlencode urldecode

尝试按以下方式解码url-encoded字符串

some_string = 'FireShot3%2B%25282%2529.png'
import urllib
res = urllib.unquote(some_string).decode()
res
u'FireShot3+%282%29.png'

原始字符串为FireShot3 (2).png。任何帮助将不胜感激。

答案: 由于采用双重编码,因此urllib.unquote_plus(urllib.unquote_plus(some_string))

2 个答案:

答案 0 :(得分:30)

您的输入已编码 double 。使用Python 3:

urllib.parse.unquote(urllib.parse.unquote(some_string))

输出:

'FireShot3+(2).png'

现在你已经+了。

修改

使用Python 2.7当然是:

urllib.unquote(urllib.unquote('FireShot3%2B%25282%2529.png'))

答案 1 :(得分:9)

urllib.unquote_plus(urllib.unquote_plus(some_string)) FireShot3 (2).png