python urldecode 函数

本文提供了一个Python中用于URL解码的函数实现。该函数能够解析带有多种字符编码的URL参数,并返回易于处理的字典格式。示例代码展示了如何使用此函数处理特定字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明

请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。

python只提供了urlencode函数,而且是对dict的。

那我就贴个urldecode函数:

import urllib

def urldecode(query):
d = {}
a = query.split('&')
for s in a:
if s.find('='):
k,v = map(urllib.unquote, s.split('='))
try:
d[k].append(v)
except KeyError:
d[k] = [v]

return d

if __name__ == '__main__':
str = """cityinfo=%E5%A8%81%E6%B5%B7&button=%E6%9F%A5%E8%AF%A2"""
print urldecode(str)["cityinfo"][0].decode("utf-8").encode("gb2312")
print urldecode(str)["button"][0].decode("utf-8").encode("gb2312")

输出结果:

> "D:\Python25\python.exe" -u "C:\test.py"
warning: Not importing directory 'E:\6.26\locale': missing __init__.py
威海
查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值