2012年5月14日

Python:url encode decode, 網址中文編碼解碼


 
似乎是每遇到一種語言,
都會遇到要把中文字串轉換為網址的問題…
以下是先前所遇過寫下的介紹文章:
  1. 用Java替中文網址轉碼:URLEncoder
  2. Online UrlEncoder:線上轉換中文網址為UTF-8編碼
  3. 用Javascript替中文網址轉碼:escape, encodeURI, encodeURIComponent 的比較
圖片來源:http://www.codercaste.com/2009/11/28/how-to-use-the-urllib-python-library-to-fetch-url-data-and-more/

簡而言之,只要利用 urllib,再善用 quote 和 unquote 即可。
依下面的測試字串,是不是 utf8 轉出來的網址編碼似乎是一樣的。

[root@localhost ~]# python
Python 2.4.3 (#1, Feb 22 2012, 16:05:45) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> import urllib

>>> urllib.quote('中文測試')
'%E4%B8%AD%E6%96%87%E6%B8%AC%E8%A9%A6'

>>> urllib.quote(u'中文測試'.encode('utf8'))
'%E4%B8%AD%E6%96%87%E6%B8%AC%E8%A9%A6'

>>> 
[root@localhost ~]#

關鍵字:Python, url, encode, decode, quote, unquote, 網址, 中文, 編碼, 解碼, utf8
參考資料:


更多精選推薦文章