python學習--quote()函數
阿新 • • 發佈:2018-11-15
aid encode utf asc python target python3.x 2.x lib
屏蔽特殊的字符、比如如果url裏面的空格!url裏面是不允許出現空格的。
在 Python2.x 中的用法是:
urllib.quote(text)
Python3.x 中是
urllib.parse.quote(text)
按照標準, URL 只允許一部分 ASCII 字符(數字字母和部分符號),其他的字符(如漢字)是不符合 URL 標準的。
所以 URL 中使用其他字符就需要進行 URL 編碼。
URL 中傳參數的部分(query String),格式是:
name1=value1&name2=value2&name3=value3
假如你的 name 或者 value 值中有『&』或者『=』等符號,就當然會有問題。所以URL中的參數字符串也需要把『&=』等符號進行編碼。
URL編碼的方式是把需要編碼的字符轉化為 %xx 的形式。通常 URL 編碼是基於 UTF-8 的(當然這和瀏覽器平臺有關)。
例子:
比如『我』,unicode 為 0x6211, UTF-8 編碼為 0xE6 0x88 0x91,URL 編碼就是
%E6%88%91
在 JavaScript 中,提供了 encodeURI 和 encodeURIComponent 兩種方法對 URL 進行編碼;
Python 的 urllib 庫中提供了 quote 和 quote_plus 兩種方法。
因為是針對不同場景設計,以上四種方法編碼的範圍均不相同,比如 quote 除了 -._/09AZaz ,都會進行編碼。quote_plus 比 quote 『更進』一些,它還會編碼 /
python學習--quote()函數