Base64編碼說明
Base64編碼要求把3個8位字節(3*8=24)轉化為4個6位的字節(4*6=24),之後在6位的前面補兩個0,形成8位一個字節的形式。 如果剩下的字符不足3個字節,則用0填充,輸出字符使用'=',因此編碼後輸出的文本末尾可能會出現1或2個'='。
為了保證所輸出的編碼位可讀字符,Base64制定了一個編碼表,以便進行統一轉換。編碼表的大小為2^6=64,這也是Base64名稱的由來。
轉碼過程舉例: 3*8=4*6 內存1個字符占8位 轉前: s 1 3 先轉成ascii:對應 115 49 51 2進制: 01110011 00110001 00110011 6個一組(4組) 011100110011000100110011 然後才有後面的 011100 110011 000100 110011 然後計算機是8位8位的存數 6不夠,自動就補兩個高位0了 所有有了 高位補0 科學計算器輸入 00011100 00110011 00000100 00110011 得到 28 51 4 51 查對下照表 c z E z
C++實現:
未完待續