String轉Base64編碼的實現

2021-08-23 15:11:53 字數 614 閱讀 4953

base64是網路上最常見的用於傳輸8bit位元組**的編碼方式之一

base64要求把每三個8bit的位元組轉換為四個6bit的位元組(3*8 = 4*6 = 24),然後把6bit再添兩位高位0,組成四個8bit的位元組,也就是說,轉換後的字串理論上將要比原來的長1/3。

比如某一字串轉成位元組碼為:

11011001 01101010 00101100

110110010110101000101100

00110110 00010110 00101000 00101100

把8位的位元組連成一串110110010110101000101100

然後每次順序選6個出來之後再把這6二進位制數前面再新增兩個0,就成了乙個新的位元組。之後再選出6個來,再新增0,依此類推,直到24個二進位制數全部被選完。

當**量不是3的整數倍時,**量/3的餘數自然就是2或者1。轉換的時候,結果不夠6位的在後面用0來補上相應的位置,之後再在6位的前面補兩個0。轉換完空出的結果就用就用「=」來補位。

如果餘1,就補「==」

如果餘2,就補「=」

下面是具體的**實現:

字符集編碼採用預設語言環境的編碼方式

最下面的2個方法是sun自帶的編碼解碼方法。

物件base64轉碼 Base64編碼轉換

1 為什麼mime要有編碼轉換 在mime總結這篇經驗中,總結了mime相較於rfc 822的擴充套件功能,其中提到了rfc 822的缺陷 非英語字元都不能在電子郵件中使用 2 電子郵件中不能插入二進位制檔案 如 3 電子郵件不能有附件。能夠對文字進行簡單的加密 2 quoted printable...

base64編碼 動畫演示 Base 64 編碼

base64 是一種十分流行的編碼方式,僅僅使用 64 個字元加等號 就可以以文字的形式表示所有的二進位制資料了,因為它能夠把二進位制格式通過編碼轉換成可見字元,所有我們就可以通過的把二進位制格式比如,檔案等通過 base64 編碼然後通過文字的形式共享出去,是不是很神奇呀。把輸入的資料轉換成 二進...

Base64編碼演算法

base64要求把每三個8bit的位元組轉換為四個6bit的位元組 3 8 4 6 24 然 後把6bit再添兩位高位0,組成四個8bit的位元組,也就是說,轉換後的字串理 論上將要比原來的長1 3。轉換後,我們用乙個碼表來得到我們想要的字串 也就是最終的base64編碼 這個表是這樣的 0 a 1...