abstract:這篇文章主要介紹了python urllib中的編碼處理示例>>> import urllib >>> data = '麗江' >>> print data 麗江 >>> data '\xe4\xb8\xbd\xe6\xb1
這篇文章主要介紹了python urllib中的編碼處理示例
>>> import urllib >>> data = '麗江' >>> print data 麗江 >>> data '\xe4\xb8\xbd\xe6\xb1\x9f' >>> urllib.quote(data) '%E4%B8%BD%E6%B1%9F'
那我們想轉(zhuǎn)回去呢?
>>> urllib.unquote('%E4%B8%BD%E6%B1%9F') '\xe4\xb8\xbd\xe6\xb1\x9f' >>> print urllib.unquote('%E4%B8%BD%E6%B1%9F') 麗江
不同的編碼格式對urllib的結(jié)果頁是有影響的,百度的是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等。