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

How to decode a (doubly) 'url-encoded' string in python

尝试按以下方式解码 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)) 由于双重编码。

您的输入已编码 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'))

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