復制代碼 代碼如下:
>>> import urllib
>>> data = '麗江'
>>> print data
麗江
>>> data
'\xe4\xb8\xbd\xe6\xb1\x9f'
>>> urllib.quote(data)
'%E4%B8%BD%E6%B1%9F'
那我們想轉回去呢?
復制代碼 代碼如下:
>>> urllib.unquote('%E4%B8%BD%E6%B1%9F')
'\xe4\xb8\xbd\xe6\xb1\x9f'
>>> print urllib.unquote('%E4%B8%BD%E6%B1%9F')
麗江
不同的編碼格式對urllib的結果頁是有影響的,百度的是gbk,其他的一般網(wǎng)站比如google就是utf8的。所以可以用下列語句實現(xiàn)。
復制代碼 代碼如下:
>>> import sys,urllib
>>> s = '麗江'
>>> urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))
'%C0%F6%BD%AD'
>>> urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))
'%E4%B8%BD%E6%B1%9F'
>>>
這里的 sys.stdin.encoding 是讀取當前環(huán)境的編碼,這樣寫的話可移植性高,winnt和xunix都可以用。當然你如果看不慣,也可以替換為自己的環(huán)境編碼如utf8等。
您可能感興趣的文章:- Python中解析JSON并同時進行自定義編碼處理實例
- Python如何獲取系統(tǒng)iops示例代碼
- python3編碼問題匯總
- 用Python實現(xiàn)命令行鬧鐘腳本實例
- Python爬蟲爬取美劇網(wǎng)站的實現(xiàn)代碼
- Python選課系統(tǒng)開發(fā)程序
- 簡單談談Python中函數(shù)的可變參數(shù)
- Python實現(xiàn)自動添加腳本頭信息的示例代碼
- 利用Python獲取操作系統(tǒng)信息實例
- 好用的Python編輯器WingIDE的使用經(jīng)驗總結
- Linux下為不同版本python安裝第三方庫
- Python 編碼處理-str與Unicode的區(qū)別