python實現:base64與圖片的轉換


例如:某個平台的登錄驗證碼

 

如上圖所示:1、 它叫做data URI scheme,是一種網頁優化的手段。讓我們直接把圖像的內容崁入網頁里面,減少頁面的請求。

      2、瀏覽器並不會緩存這樣的圖片

      3、data URI scheme 雖然節省 HTTP 請求,但是倘若這個圖像要在網頁多個地方顯示的話,便會加大網頁的內容,延長了下載的時間

      4、其中一個解決辦法是在一個 CSS class 中加入 data URL,在需要顯示圖像的區塊調用這個 class

 

這種src的解析

 

 

 

 

python 代碼實現:src轉化為圖片

 

 

 

import base64


src = "data:image/gif;base64,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"
data = src.split(',')[1]
image_data = base64.b64decode(data)

with open('1.gif', 'wb') as f:
    f.write(image_data)

 

 

 

補充常見的圖片的src:

 

 

 如上圖所示:http協議+域名+資源路徑     (http URI scheme)

       它想要獲取圖片還是需要請求服務器,服務器響應圖片回來,多了一個交互。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM