国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

python中對URL的編碼與解碼

2019-11-14 09:09:42
字體:
來源:轉載
供稿:網友
url中的query帶有特殊字符(不是url的保留字)時需要進行編碼。當url中帶有漢字時,需要特殊的處理才能正確編碼,以下都只針對這種情形,當然也適用于純英文字符的url。(1) url編碼:
import urlliburl = 'http://test.com/s?wd=哈哈'   #如果此網站編碼是gbk的話,需要進行解碼,從gbk解碼成unicode,再從Unicode編碼編碼為utf-8格式。url = url.decode('gbk', 'replace')PRint urllib.quote(url.encode('utf-8', 'replace'))結果: http%3a%2f%2ftest.com%2fs%3fwd%3d%e5%93%88%e5%93%88(2) url解碼:
import urllibencoded_url = 'http%3a%2f%2ftest.com%2fs%3fwd%3d%e5%93%88%e5%93%88'print urllib.unquote(encoded_url).decode('utf-8', 'replace').encode('gbk', 'replace')  #反過來函數調用的參數以及結果都是utf-8編碼的,所以在對url編碼時,需要將參數串的編碼從原始編碼轉換成utf-8,對url解碼時,需要將解碼結果從utf-8轉換成原始編碼格式。依據網站采用的編碼不同,或是gbk或是utf-8,賦賦予不同的編碼,進行不同的url轉碼。GBK格式,一個中文字符轉為%xx%xx,共兩組;utf-8格式,一個中文字符轉為%xx%xx%xx,共三組。
>>> import sys,urllib   >>> s = '杭州' >>> urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))  %BA%BC%D6%DD  >>> urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))  '%E6%9D%AD%E5%B7%9E' 
    a = "墨西哥女孩被拐4年接客4萬次 生的孩子成為人質-搜狐新聞"      print urllib.quote(urllib.quote(a))進行兩次編碼轉換后,會變為:%25E5%25A2%25A8%25E8%25A5%25BF%25E5%2593%25A5%25E5%25A5%25B3%25E5%25AD%25A9%25E8%25A2%25AB%25E6%258B%25904%25E5%25B9.................................................................................這樣的形式。同樣需要兩次解碼后才能得到中文。
上一篇:Leetcode刷題

下一篇:驗證二叉查找樹

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金塔县| 嘉峪关市| 尉氏县| 桐柏县| 昆明市| 和田市| 古浪县| 浙江省| 上杭县| 庄河市| 盘山县| 武城县| 红安县| 湘乡市| 梧州市| 平舆县| 化州市| 崇州市| 菏泽市| 木里| 通山县| 赤水市| 黑龙江省| 哈密市| 托里县| 嘉鱼县| 开平市| 桂阳县| 大荔县| 贵德县| 隆德县| 鄄城县| 兴安盟| 本溪市| 平罗县| 宝山区| 衡山县| 宁河县| 虞城县| 芦溪县| 洪江市|