關於Base64
什么是Base64
-
百度百科上說:base64是網絡上最常見的用於傳輸8Bit字節碼的編碼方式之一,Base64就是一種基於64個可打印字符來表示二進制數據的方法。可查看RFC2045~RFC2049,上面有MIME的詳細規范Base64編碼是從二進制到字符的過程,可用於在HTTP環境下傳遞較長的標識信息。采用Base64編碼具有不可讀性,需要解碼后才能閱讀。Base64由於以上優點被廣泛應用於計算機的各個領域,然而由於輸出內容中包括兩個以上“符號類”字符(+, /, =),不同的應用場景又分別研制了Base64的各種“變種”。為統一和規范化Base64的輸出,Base62x被視為無符號化的改進版本。
-
通俗一點,base64就是一種基於64個可打印字符來表示二進制數據的表示方法
The Base64 Alphabet
base64的編碼過程
- base64的編碼都是按字符串長度,以每3個8bit的字符為一組,
- 然后針對每組,首先獲取每個字符的ASCII編碼,
- 然后將ASCII編碼轉換成8bit的二進制,得到一組3*8=24bit的字節
- 然后再將這24bit划分為4個6bit的字節,並在每個6bit的字節前面都填兩個高位0,得到4個8bit的字節
- 然后將這4個8bit的字節轉換成10進制,對照Base64編碼表 (下表),得到對應編碼后的字符。