我的网站看起来像这样:
http://abc.com/hsdl-3201%23008-lite-on-12275800/hsdl-3201%23008-lite-on-12275800
显然,因为有一些奇怪的字符不适合URL格式,并且它们已被编码为%20个字符..我想知道如何轻松解码回包含原始字符的python字符串。
感谢。
答案 0 :(得分:3)
Python 3
from urllib.parse import unquote
Python 2
from urllib import unquote
然后
unquote('http://abc.com/hsdl-3201%23008-lite-on-12275800/hsdl-3201%23008-lite-on-12275800')
#>>> 'http://abc.com/hsdl-3201#008-lite-on-12275800/hsdl-3201#008-lite-on-12275800'
如果您正在执行此操作以解析表单,请检查unquote_plus
,其中空格被编码为"+"
,因此需要进行解码。
答案 1 :(得分:2)
来自文档:
urllib.unquote(string)用单字符替换%xx转义符 等效。
示例:
unquote('/%7Econnolly/')
产生'/~connolly/'
。