python base64(圖片)編碼


參考:https://blog.csdn.net/Good_Luck_Kevin2018/article/details/80953312

通常會在網頁中遇到用src="data:image/png;base64,xxxx" 來代表一張圖片,不知道這是什么意思,今天就來探究一下:

那么這是什么呢?這是Data URI scheme,Data URI scheme是在RFC2397中定義的,目的是將一些小的數據,直接嵌入到網頁中,從而不用再從外部文件載入

在Data URI中,data表示取得數據的協定名稱,image/png 是數據類型名稱,base64 是數據的編碼方法,逗號后面就是這個image/png文件base64編碼后的數據。

目前,Data URI scheme支持的類型有:

  • data:,文本數據
  • data:text/plain,文本數據
  • data:text/html,HTML代碼
  • data:text/html;base64,base64編碼的HTML代碼
  • data:text/css,CSS代碼
  • data:text/css;base64,base64編碼的CSS代碼
  • data:text/javascript,Javascript代碼
  • data:text/javascript;base64,base64編碼的Javascript代碼
  • data:image/gif;base64,base64編碼的gif圖片數據
  • data:image/png;base64,base64編碼的png圖片數據
  • data:image/jpeg;base64,base64編碼的jpeg圖片數據
  • data:image/x-icon;base64,base64編碼的icon圖片數據

base64編碼

 1 #將文字轉成base64編碼
 2 >>> import base64
 3 >>> ls_s='test4321'
 4 >>> ls_t=base64.b64encode(ls_s)
 5 >>> print ls_t
 6 dGVzdDQzMjE=
 7 >>> print base64.b64decode(ls_t)
 8 test4321
 9 >>>
10 # 把圖片內容轉成base64編碼
11 import base64
12 f=open('./1.jpg','rb') #二進制方式打開圖文件
13 ls_f=base64.b64encode(f.read()) #讀取文件內容,轉換為base64編碼 
14 f.close()
15 # 把編碼文本寫入一個頁面中
16 fw=open('./1.html','w') #打開一個空白文本文件,准備寫入
17 fw.write('<html><body>\n<img src="data:image/jpeg;base64,'+ls_f+'"/>\n</body></html>')
18 fw.flush()
19 fw.close()

 網頁的表達

1 <html><body>
2 <img src="data:image/jpeg;base64,這里放的是上面寫入的1.txt 的內容" />
3 </body></html>


免責聲明!

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



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