什么是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)

程序运行结果:

  这不就是我们想要的结果吗。搞定。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

 posted on 2014-06-19 15:46  Rex7  阅读(391)  评论(0编辑  收藏  举报