Base64 編碼與解碼詳解


Base64 是基於 64 個可打印字符 A-Z、a-z、0-9、+、/ 來表示二進制數據的表示方法,常用於數據在網絡中的傳輸。本篇將分別介紹其編碼、解碼以及實際運用。

 

Base64 編碼

Base64 本質是一種將二進制轉為文本的方案。基本規則如下:

  • 編碼時候選用 64 (大小寫英文字母,數字,+ /)個字符以及用作補位的=來表示
  • 在編碼的時候,將3個字節變為4個字節,4個字節的高兩位都用 00 來填充,后 6 位來表示 64 個字符。

以一個實際的例子 "YOU" 為例,其編碼過程如下:


由上表格可知 "YOU"對應的 Base64 編碼為:"WU9V"。

對於要待編碼的字符數如果不是 3 的倍數時候,會用 0 去填充,編碼出來后用 = 號表示,如: "ME" 其編碼如下:

 

Base64 解碼

將 4 個字節變為 3 個字節;

  • 將 24 bit 左移 16 位,與 255 進行與操作,獲得第一個字符,
  • 將 24 bit 左移 8 位,與 255 進行與操作,獲得第二個字符,
  • 將 24 bit 與 255 進行與操作,獲取第三個字符

資源搜索網站大全 https://www.renrenfan.com.cn

Base64 實現與運用場景

在 Node 中提供 Buffer 模塊,可以進行二進制或者字符與 Base64 的想換轉換,其代碼如下:

const buf2 = Buffer.alloc(2); buf2.write("M", 0); buf2.write("E", 1); buf2.toString("base64"); //TUU= // base64 解碼 const decodeBase64 = new Buffer("TUU=", "base64").toString(); //ME 

Base64 有着廣泛的使用,如:

  • 對不支持二進制傳輸的場景, 將二進制數據編碼成 Base64 傳輸給服務器
  • Base64 編碼圖片
  • MIME, 電子郵件系統中使用 Base64 編碼后傳輸


免責聲明!

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



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