Base64是一種把二進制數據轉換成文本表示形式的方法,其基于64個可打印字符對數據進行編解碼。
Base64提供了二進制數據到文本數據轉換的一種方法,因此利用Base64可以實現二進制數據與基于文本的系統之間的交互。Base64在包括email,browser在內的許多應用程序里得到應用。
Base64顧名思義是根據64個基本字符來對數據進行編碼,包括a-z,A-Z,0-9共62個字符和其它另外2個字符。62個字母數字表里的字符是固定的,而其它2個字符根據具體的Base64的變種而不同。
2^6 = 64故表示64個編碼字符一共需要6bit。
3 * 8 = 24 = 4 * 6故每3個字節(byte)可以用4個Base64字符編碼,編碼時按照Base64編碼表,對源數據進行編碼,每3個字節轉換成4個Base64編碼字符,解碼時則反之。可見在沒有其他影響因素的情況下,編碼前后數據大小的比例為3 : 4,編碼后的數據略大于源數據。
如果編碼內容尾部不足3個字節,可以用”=”填補編碼結果以表示尾部包含2個字節數據,用“==”填補編碼結果表示尾部包含1個字節數據。尾部不足3個字節時的填補行為就像是64個字符中的2個特別字符一樣,也是隨Base64的變種而變化的,在一些Base64的變種中,“=”不是必須的。
Base64除了可以完成二數進制數據到文本數據的轉換,其實也可以對文本數據進行編碼,而不是僅限于編碼二進制數據。
Hello World!經過Base64轉換后將得到輸出
SGVsbG8gV29ybGQh新聞熱點
疑難解答