Base64 是基於 64 個可打印字符 A-Z、a-z、0-九、+、/ 來表示二進制數據的表示方法,經常使用於數據在網絡中的傳輸。本篇將分別介紹其編碼、解碼以及實際運用。segmentfault
Base64 本質是一種將二進制轉爲文本的方案。基本規則以下:服務器
以一個實際的例子 "YOU" 爲例,其編碼過程以下:網絡
由上表格可知 "YOU"對應的 Base64 編碼爲:"WU9V"。post
對於要待編碼的字符數若是不是 3 的倍數時候,會用 0 去填充,編碼出來後用 = 號表示,如: "ME" 其編碼以下:
編碼
將 4 個字節變爲 3 個字節;spa
在 Node 中提供 Buffer 模塊,能夠進行二進制或者字符與 Base64 的想換轉換,其代碼以下:code
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 有着普遍的使用,如:blog
[1] Base64 的原理、實現及應用圖片
[2] Base64是如何進行的get