當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=百度一下
你好中國