python中的urlencode与urldecode

本文介绍了在Python中如何使用urllib库对URL中的中文及特殊字符进行编码与解码操作。包括urlencode函数用于编码键值对,quote函数针对单一字符串进行编码,以及unquote函数用于解码。
摘要由CSDN通过智能技术生成

python 通过 HTTP 交互处理数据的时候,url 里面的中文以及特殊字符要做处理的,当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至'/'做一下编码转换。

一、urlencode

urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串,比如:

>>> from urllib import urlencode
>>> data = {
...     'a': 'China',
...     'name': '中国'
... }
>>> print urlencode(data)
a=China&name=%E4%B8%AD%E5%9B%BD

如果只想对一个字符串进行urlencode转换,怎么办?urllib提供另外一个函数:quote()

>>> from urllib import quote
>>> quote('中国')
'%E4%B8%AD%E5%9B%BD'

二、urldecode

当urlencode之后的字符串传递过来之后,接受完毕就要解码了——urldecode。urllib提供了unquote()这个函数,可没有urldecode()这个函数!!!

>>> from urllib import unquote
>>> print unquote('%E4%B8%AD%E5%9B%BD')
中国

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值