什么是URL编码呢,请看https://zh.wikipedia.org/wiki/Urlencode。
有时,我们向一些网站提交中文参数时,中文是会被编码成这种格式的 “%B1%E0%C2%EB ”,它的原文是“编
码”,URL编码也被称为“百分号编码”,是不是有很多百分号。我们常使用的“空格”的URL编码就是 “%20”,但是新的
标准把“空格” 替换为 ”+“,要是你遇到了一些看不懂的 URL编码 ,你该怎么办?
方法一:在这个链接 ”http://www.baidu.com/s?wd= ” 后加上你的 URL编码,然后在浏览器打开你拼接后的链
接。譬如,我要查看的是“%B1%E0%C2%EB”,加在百度的链接后,在浏览器打开
“http://www.baidu.com/s?wd=%B1%E0%C2%EB”,我看到的是
这不就看出原文了,是不是感觉这种方法很有趣啊,是安特介绍的。
方法二:用python里的库 urllib,urllib 里有两个函数 urllib.quote 和 urllib.unquote ,一看名字,就知道它们是
相反的。先看一下他们的说明把,
简而言之,urlib.quote 就是返回URL编码后的字符串,而urllib.unquote 则是解码。
我们来写一些简单的测试代码:
# -*- coding: gb2312 -*- #tab = 4 spaces import urllib def url_de(x): '''对URL进行解码''' return urllib.unquote(x) def url_en(x): '''返回URL编码''' return urllib.quote(x) x = '编码' y = url_en(x) print '原来的字符串是:',x print '编码后的字符串是:',y print '解码后的字符串是:',url_de(y)
程序运行结果:
这不就是我们想要的结果吗。搞定。