用python查看URL编码的中文

时间:2023-11-19 20:52:20

什么是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查看URL编码的中文

这不就看出原文了用python查看URL编码的中文,是不是感觉这种方法很有趣啊,是安特介绍的。

方法二:用python里的库 urllib,urllib 里有两个函数 urllib.quote 和 urllib.unquote ,一看名字,就知道它们是

相反的。先看一下他们的说明把,

用python查看URL编码的中文

简而言之,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)

程序运行结果:

用python查看URL编码的中文

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

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