欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

URL網址鏈接中的中文編碼說明

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

中文的UTF-8編碼: 一個漢字對應三組%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()函數

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

所用模塊:urllib

所用函數:urllib.unquote()

案例

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

輸出

河源

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

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

問題擴展

URL為何要編碼、解碼?

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

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

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

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

相關文章

  • python反轉單鏈表算法題

    python反轉單鏈表算法題

    這篇文章主要為大家詳細介紹了python反轉單鏈表算法題,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python?日志記錄模塊的綜合指南

    Python?日志記錄模塊的綜合指南

    這篇文章主要為大家介紹了Python?日志記錄模塊的綜合指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • 用Python3通過PyCharm上傳代碼到Git服務器的詳細過程

    用Python3通過PyCharm上傳代碼到Git服務器的詳細過程

    上傳代碼到服務器,如果不知道的情況下還用傳統的方式上傳很麻煩,現在很多IDE都提供上傳代碼的功能,例如:VSCode,PyCharm等等,本文講解的是PyCharm,需要的朋友可以參考下
    2024-03-03
  • 詳解python3中zipfile模塊用法

    詳解python3中zipfile模塊用法

    本篇文章給大家分享了關于python3中zipfile模塊的詳細用法以及技術難點解析,有興趣的朋友跟著學習下吧。
    2018-06-06
  • Python棧的實現方法示例【列表、單鏈表】

    Python棧的實現方法示例【列表、單鏈表】

    這篇文章主要介紹了Python棧的實現方法,結合實例形式分析了Python基于列表、單鏈表定義棧的相關操作技巧,需要的朋友可以參考下
    2020-02-02
  • python點云地面點濾波(Progressive Morphological Filter)算法介紹(PCL庫)

    python點云地面點濾波(Progressive Morphological Filter)算法介紹(PCL庫)

    這篇文章主要介紹了python點云地面點濾波(Progressive Morphological Filter)算法介紹(PCL庫),了解膨脹/腐蝕這兩個基礎操作,可以通過對其進行簡單組合來形成開/閉操作,需要的朋友可以參考下
    2021-08-08
  • 解決Python網頁爬蟲之中文亂碼問題

    解決Python網頁爬蟲之中文亂碼問題

    今天小編就為大家分享一篇解決Python網頁爬蟲之中文亂碼問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python 拷貝特定后綴名文件,并保留原始目錄結構的實例

    python 拷貝特定后綴名文件,并保留原始目錄結構的實例

    下面小編就為大家分享一篇python 拷貝特定后綴名文件,并保留原始目錄結構的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 基于Python編寫一個解析器

    基于Python編寫一個解析器

    這篇文章主要給大家介紹了如何基于Python編寫一個解析器,文章通過代碼示例介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2023-08-08
  • python圖片處理庫Pillow實現簡單PS功能

    python圖片處理庫Pillow實現簡單PS功能

    Python 屆處理圖片最強的庫是 PIL(Python Image Library),但由于該庫只支持 2.x 版本,在此基礎上做了擴展,出了一個兼容 3.x 的版本也就是 Pillow,因此,我們今天要用的庫就是Pillow
    2021-11-11

最新評論