使用Python 3进行URL解码

86 投票
2 回答
88454 浏览
提问于 2025-04-17 08:58

有没有办法在Python 3中对字符串进行URL解码呢?

比如说,我想把这样的东西

id%253D184ff84d27c3613d%26quality%3Dmedium

解码两次,得到

id=184ff84d27c3613d&quality=medium

2 个回答

18

试试这个:

from urllib.parse import unquote
s = 'id%253D184ff84d27c3613d%26quality%3Dmedium'
unquote(unquote(s))

它会返回:

> 'id=184ff84d27c3613d&quality=medium'
126

只需要使用 urllib.parse.unquote() 这个函数就可以了:

>>> import urllib.parse
>>> urllib.parse.unquote('id%253D184ff84d27c3613d%26quality%3Dmedium')
'id%3D184ff84d27c3613d&quality=medium'
>>> urllib.parse.unquote('id%3D184ff84d27c3613d&quality=medium')
id=184ff84d27c3613d&quality=medium

撰写回答