什麼是url編碼呢,請看
有時,我們向一些**提交中文引數時,中文是會被編碼成這種格式的 「%b1%e0%c2%eb 」,它的原文是「編
碼」,url編碼也被稱為「百分號編碼」,是不是有很多百分號。我們常使用的「空格」的url編碼就是 「%20」,但是新的
標準把「空格」 替換為 」+「,要是你遇到了一些看不懂的 url編碼 ,你該怎麼辦?
方法一:在這個鏈結 」 」 後加上你的 url編碼,然後在瀏覽器開啟你拼接後的鏈 接。
譬如,我要檢視的是「
「%b1%e0%c2%eb」,我看到的是
這不就看出原文了
方法二:用python裡的庫 urllib,urllib 裡有兩個函式 urllib.quote 和 urllib.unquote ,一看名字,就知道它們是
相反的。先看一下他們的說明把,
簡而言之,urlib.quote 就是返回url編碼後的字串,而urllib.unquote 則是解碼。
我們來寫一些簡單的測試**:
# -*- coding: gb2312 -*-
#tab = 4 spaces
import urllib
def url_de(x):
'''對url進行解碼'''
return urllib.unquote(x)
def url_en(x):
'''返回url編碼'''
return urllib.quote(x)
x = '編碼'
y = url_en(x)
print '原來的字串是:',x
print '編碼後的字串是:',y
print '解碼後的字串是:',url_de(y)
程式執行結果:
這不就是我們想要的結果嗎。搞定。
python的url編碼問題
urlencode的引數必須是dictionary d p rinturllib.urlencode m par2 b par1 a 函式urlencode不會改變傳入引數的原始編碼,也就是說需要在呼叫之前將post或get引數的編碼調整好。python編碼轉換可以參考 問題 現在模擬請求googl...
用python檢視和更改系統預設編碼
python在安裝時,預設的編碼是ascii,當程式中出現非ascii編碼時,python的處理常常會報這樣的錯unicodedecodeerror ascii codec can t decode byte 0x?in position 1 ordinal not in range 128 pyt...
實現URL編碼解碼的python程式
實現url編碼解碼的python程式 2006 12 30 14 40 usr bin python import urllib import sys string sys.argv 1 string unicode string,gbk utf8 string string.encode utf ...