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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

python中對(duì)URL的編碼與解碼

2019-11-14 09:46:54
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
url中的query帶有特殊字符(不是url的保留字)時(shí)需要進(jìn)行編碼。當(dāng)url中帶有漢字時(shí),需要特殊的處理才能正確編碼,以下都只針對(duì)這種情形,當(dāng)然也適用于純英文字符的url。(1) url編碼:
import urlliburl = 'http://test.com/s?wd=哈哈'   #如果此網(wǎng)站編碼是gbk的話(huà),需要進(jìn)行解碼,從gbk解碼成unicode,再?gòu)腢nicode編碼編碼為utf-8格式。url = url.decode('gbk', 'replace')PRint urllib.quote(url.encode('utf-8', 'replace'))結(jié)果: 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')  #反過(guò)來(lái)函數(shù)調(diào)用的參數(shù)以及結(jié)果都是utf-8編碼的,所以在對(duì)url編碼時(shí),需要將參數(shù)串的編碼從原始編碼轉(zhuǎn)換成utf-8,對(duì)url解碼時(shí),需要將解碼結(jié)果從utf-8轉(zhuǎn)換成原始編碼格式。依據(jù)網(wǎng)站采用的編碼不同,或是gbk或是utf-8,賦賦予不同的編碼,進(jìn)行不同的url轉(zhuǎn)碼。GBK格式,一個(gè)中文字符轉(zhuǎn)為%xx%xx,共兩組;utf-8格式,一個(gè)中文字符轉(zhuǎn)為%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萬(wàn)次 生的孩子成為人質(zhì)-搜狐新聞"      print urllib.quote(urllib.quote(a))進(jìn)行兩次編碼轉(zhuǎn)換后,會(huì)變?yōu)椋?25E5%25A2%25A8%25E8%25A5%25BF%25E5%2593%25A5%25E5%25A5%25B3%25E5%25AD%25A9%25E8%25A2%25AB%25E6%258B%25904%25E5%25B9.................................................................................這樣的形式。同樣需要兩次解碼后才能得到中文。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 社旗县| 宽城| 彰武县| 柏乡县| 青川县| 富源县| 晋宁县| 南部县| 拉孜县| 五华县| 南宫市| 开原市| 旌德县| 宽城| 南岸区| 甘泉县| 沿河| 紫阳县| 兴山县| 城口县| 安福县| 杭州市| 民勤县| 靖西县| 金坛市| 辉南县| 延川县| 麦盖提县| 扶风县| 鱼台县| 镶黄旗| 永新县| 永川市| 上栗县| 周口市| 云霄县| 枝江市| 新乐市| 湘阴县| 和龙市| 岳西县|