最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用urllib模塊對URL網(wǎng)址中的中文編碼與解碼實例詳解

 更新時間:2020年02月18日 15:28:42   作者:彭世瑜  
這篇文章主要介紹了Python使用urllib模塊對URL網(wǎng)址中的中文編碼與解碼(Python使用urllib模塊對URL編碼與解碼)實例詳解,需要的朋友可以參考下

URL網(wǎng)址鏈接中的中文編碼說明

中文的gbk(GB2312)編碼: 一個漢字對應(yīng)兩組%xx,即%xx%xx

中文的UTF-8編碼: 一個漢字對應(yīng)三組%xx,即%xx%xx%xx

可以利用百度進行URL編碼解碼 默認gbk

https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD

python3編碼解碼示例

# -*- coding: utf-8 -*-

# @File  : urldecode_demo.py
# @Date  : 2018-05-11

from urllib.request import quote, unquote

# 編碼

url1 = "https://www.baidu.com/s?wd=中國"

# utf8編碼,指定安全字符
ret1 = quote(url1, safe=";/?:@&=+$,", encoding="utf-8")
print(ret1)
# https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD

# gbk編碼
ret2 = quote(url1, encoding="gbk")
print(ret2)
# https%3A//www.baidu.com/s%3Fwd%3D%D6%D0%B9%FA


# 解碼
url3 = "https://www.baidu.com/s?wd=%E4%B8%AD%E5%9B%BD"

ret3 = unquote(url3, encoding='utf-8')
print(ret3)
# https://www.baidu.com/s?wd=中國

實例中我們使用到了urllib模塊和urllib.unquote()函數(shù)

import urllib
rawurl=xxx
url=urllib.unquote(rawurl)

所用模塊:urllib

所用函數(shù):urllib.unquote()

案例

import urllib
rawurl = "%E6%B2%B3%E6%BA%90"
url = urllib.unquote(rawurl)
print url

輸出

河源

urllib.unquote()目的是對url編碼進行解碼,與該函數(shù)對應(yīng)的是編碼函數(shù)urllib.quote()

>>> import urllib
>>> urllib.quote("河源")
'%E6%B2%B3%E6%BA%90

問題擴展

URL為何要編碼、解碼?

通常如果一樣?xùn)|西需要編碼,說明這樣?xùn)|西并不適合傳輸。原因多種多樣,如Size過大,包含隱私數(shù)據(jù)。對于Url來說,之所以要進行編碼,是因為Url中有些字符會引起歧義。

例如,Url參數(shù)字符串中使用key=value鍵值對這樣的形式來傳參,鍵值對之間以&符號分隔,如/s?q=abc&ie=utf-8。如果你的value字符串中包含了=或者&,那么勢必會造成接收Url的服務(wù)器解析錯誤,因此必須將引起歧義的&和=符號進行轉(zhuǎn)義,也就是對其進行編碼。

又如,Url的編碼格式采用的是ASCII碼,而不是Unicode,這也就是說你不能在Url中包含任何非ASCII字符,例如中文。否則如果客戶端瀏覽器和服務(wù)端瀏覽器支持的字符集不同的情況下,中文可能會造成問題。

更多關(guān)于Python使用urllib模塊對URL編碼與解碼實例請查看下面的相關(guān)鏈接

相關(guān)文章

  • 一道題學(xué)會Python函數(shù)中形參和實參

    一道題學(xué)會Python函數(shù)中形參和實參

    在Python編程中,函數(shù)的形參和實參是函數(shù)定義和調(diào)用的重要概念,本文主要介紹了一道題學(xué)會Python函數(shù)中形參和實參,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • python中json操作之json.loads、json.load、json.jumps及json.jump用法

    python中json操作之json.loads、json.load、json.jumps及json.jump用法

    最近在python里面用json讀取json文件,可是老是不成功,特此記錄一下,下面這篇文章主要給大家介紹了關(guān)于python中json操作之json.loads、json.load、json.jumps及json.jump用法的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Python中的pandas模塊詳解

    Python中的pandas模塊詳解

    在Python中使用pandas模塊,需要先安裝pandas庫,pandas模塊是Python編程語言中用于數(shù)據(jù)處理和分析的強大模塊,它提供了許多用于數(shù)據(jù)操作和清洗的函數(shù),使得數(shù)據(jù)處理和分析變得更為簡單和直觀,本文給大家介紹Python pandas模塊,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 最新pycharm安裝教程

    最新pycharm安裝教程

    這篇文章主要介紹了最新pycharm安裝教程,需要的朋友可以參考下
    2020-11-11
  • Python動態(tài)加載模塊的3種方法

    Python動態(tài)加載模塊的3種方法

    這篇文章主要介紹了Python 動態(tài)加載模塊的3種方法,本文分別使用使用系統(tǒng)函數(shù)__import_()、使用imp 模塊、使用exec三種方法實現(xiàn),需要的朋友可以參考下
    2014-11-11
  • pytorch中 gpu與gpu、gpu與cpu 在load時相互轉(zhuǎn)化操作

    pytorch中 gpu與gpu、gpu與cpu 在load時相互轉(zhuǎn)化操作

    這篇文章主要介紹了pytorch模型載入之gpu和cpu互轉(zhuǎn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python常用類型轉(zhuǎn)換實現(xiàn)代碼實例

    Python常用類型轉(zhuǎn)換實現(xiàn)代碼實例

    這篇文章主要介紹了Python常用類型轉(zhuǎn)換實現(xiàn)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • virtualenv 指定 python 解釋器的版本方法

    virtualenv 指定 python 解釋器的版本方法

    今天小編就為大家分享一篇virtualenv 指定 python 解釋器的版本方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 利用Python matplotlib繪制風(fēng)能玫瑰圖

    利用Python matplotlib繪制風(fēng)能玫瑰圖

    這篇文章主要給大家介紹了關(guān)于如何利用Python matplotlib繪制風(fēng)能玫瑰圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python實現(xiàn)基本Socket服務(wù)端與客戶端通信的完整代碼

    Python實現(xiàn)基本Socket服務(wù)端與客戶端通信的完整代碼

    這篇文章主要介紹了Python實現(xiàn)基本Socket服務(wù)端與客戶端通信,分步詳解與完整代碼都有,按需所求即可,對Python Socket服務(wù)端與客戶端通信相關(guān)知識感興趣的朋友一起看看吧
    2023-06-06

最新評論

万盛区| 高密市| 凤城市| 遂宁市| 泾阳县| 上思县| 嫩江县| 屏边| 娱乐| 阿勒泰市| 闻喜县| 江西省| 亳州市| 内丘县| 壤塘县| 秦皇岛市| 洪湖市| 漳浦县| 伊宁市| 松滋市| 五大连池市| 大埔县| 九台市| 鄢陵县| 铜鼓县| 贵德县| 阳东县| 英吉沙县| 原平市| 漠河县| 万载县| 华池县| 塘沽区| 芮城县| 大荔县| 富民县| 凌云县| 海丰县| 宜黄县| 岫岩| 老河口市|