用python檢視URL編碼的中文

2021-06-22 12:42:31 字數 1135 閱讀 7546

什麼是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 ...