這篇文章主要介紹了python實現中文轉換url編碼的方法,結合實例形式分析了Python針對中文的gbk與utf-8編碼轉換的相關技巧,具備必定參考借鑑價值,須要的朋友能夠參考下python
今天要作一個藝術網站上的東西。想要作一個關鍵詞的查詢,輸入的是中文,例如(香港歷史博物館),可是卻出現編碼錯誤問題,所以需 要作一個轉換。這裏咱們就用到了模塊urllib。網站
import url lib data = "香港歷史博物館" data = urllib.parse.quote(data) print(data) # 其結果是: '%E9%A6%99%E6%B8%AF%E5%8E%86%E5%8F%B2%E5%8D%9A%E7%89%A9%E9%A6%86'
Ok了。編碼
須要注意的是,爲使用的是python3,在python3中,urllib模塊的quote是在parse中的。而python2中的quote是直接在urllib中的。url
import url lib data = "香港歷史博物館" data = urllib.quote(data) print(data)
那咱們想轉回去呢?code
data = urllib.parse.unquote('%E9%A6%99%E6%B8%AF%E5%8E%86%E5%8F%B2%E5%8D%9A%E7%89%A9%E9%A6%86') print(data) # 結果是: '香港歷史博物館'
有些網站,他們的編碼並非utf8,也許是gbk,或者什麼其餘的,這個時候,轉換出來的所需url編碼可能就不是'%E9%A6%99%E6%B8%AF%E5%8E%86%E5%8F%B2%E5%8D%9A%E7%89%A9%E9%A6%86'
這樣的了,而是'%CF%E3%B8%DB%C0%FA%CA%B7%B2%A9%CE%EF%B9%DD'
相似這樣的(這是gbk的)。那麼,咱們怎麼辦呢?utf-8
很簡單。class
urllib.parse.quote(data.encode('gbk'))
是否是很簡單,在轉換以前,先encode一下,完美解決。import