python中的urlencode与urldecode
来源:互联网 发布:mac辣椒红 编辑:程序博客网 时间:2024/05/18 14:22
当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至'/'做一下编码转换。
一、urlencode
urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串,比如:
>>> from urllib import urlencode>>> data = {... 'a': 'test',... 'name': '魔兽'... }>>> print urlencode(data)a=test&name=%C4%A7%CA%DE
如果只想对一个字符串进行urlencode转换,怎么办?urllib提供另外一个函数:quote()
>>> from urllib import quote>>> quote('魔兽')'%C4%A7%CA%DE'
二、urldecode
当urlencode之后的字符串传递过来之后,接受完毕就要解码了——urldecode。urllib提供了unquote()这个函数,可没有urldecode()!
>>> from urllib import unquote>>> unquote('%C4%A7%CA%DE')'\xc4\xa7\xca\xde'>>> print unquote('%C4%A7%CA%DE')魔兽
三、讨论
在做urldecode的时候,看unquote()这个函数的输出,是对应中文在gbk下的编码,在对比一下quote()的结果不难发现,所谓的urlencode就是把字符串转车gbk编码,然后把\x替换成%。如果你的终端是utf8编码的,那么要把结果再转成utf8输出,否则就乱码。
可以根据实际情况,自定义或者重写urlencode()、urldecode()等函数。
0 0
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode与urldecode
- python中的urlencode和urldecode
- python中的urlencode和urldecode
- URLEncode与URLDecode
- urlencode()与urldecode() 详解
- redis的一个操作的代码执行流程
- [置顶]Innodb Buffer Pool内部结构
- [置顶]innodb动态内存管理
- Java 垃圾回收机制
- chmod文件权限分配问题
- python中的urlencode与urldecode
- windows下搭建爬虫框架scrapy
- leetcode_c++:链表:add two numbers(002)
- MVP+Dagger2+Retrofit实现更清晰的架构
- 不精确数字比较问题
- RTSP交互过程
- SSH的用法
- 干货三:CountDownTimer倒计时工具类
- python中有很多字符串连接方式