当url中出现中文字符,有时需要做编码处理。
python3的urllib库给出了以下的编码和解码方式:
1.编码
#编码
import urllib.parse
dict = {'wd':'百度一下'}
wd = urllib.parse.urlencode(dict)
print(wd)
将要编码的参数以字典形式传给urlencode函数,得到的结果如下:
wd=%E7%99%BE%E5%BA%A6%E4%B8%80%E4%B8%8B
或者采用另一种形式可以直接将字符串进行url编码
s = '你好中国'
wf = urllib.parse.quote(s)
print(s)
得到的结果如下:
%E4%BD%A0%E5%A5%BD%E4%B8%AD%E5%9B%BD
2.解码
当urlencode之后的字符串传递过来之后,接受完毕就要解码了——unquote。urllib提供了unquote()这个函数,注意没有urldecode()这个函数!
#解码
wq = urllib.parse.unquote(wd)
print(wq)
ws = urllib.parse.unquote(wf)
print(ws)
得到的结果如下:
wd=百度一下
你好中国