1. 程式人生 > 其它 >有關演算法與資料結構的考題解答參考彙總 [C++] [連結串列] · 第二篇

有關演算法與資料結構的考題解答參考彙總 [C++] [連結串列] · 第二篇

Base64編碼學習

一.什麼是Base64編碼

Base64編碼是用64個字元表示任意二進位制資料的方法,它將二進位制資料轉變為64個可列印字元,完成資料在HTTP協議上的運輸
那麼Base64編碼可以解決什麼問題呢?
我們知道,在網路上傳輸的字元並不全是可列印字元,比如中文、圖片等,Base64編碼將其轉變為可列印字元,從而實現在HTTP協議上的運輸

二.Base編碼原理

Base64選用"A-Z、a-z、0-9、+、/" 64個可列印字元作為索引表(有時也會有‘=’出現)
具體轉換步驟
第一步,將待轉換的字串每三個位元組分為一組,每個位元組佔8bit,那麼共有24個二進位制位。
第二步,將上面的24個二進位制位每6個一組,共分為4組。
第三步,在每組前面新增兩個0,每組由6個變為8個二進位制位,總共32個二進位制位,即四個位元組。
第四步,根據Base64編碼對照表獲得對應的值。

三.示例說明

當要轉換的字元數不是三的倍數時,Base64規定,當需要轉換的字元不是3的倍數時,一律採用補0的方式湊足3的倍數,具體如下表所示:

二進位制不足24bit要補齊24bit,不夠的全部填0

附.Base64編碼表

參考資料:

連結:什麼是base64
連結:一篇文章徹底弄懂base64編碼原理
連結:base64加密原理詳解