編碼演算法 Base64

2021-09-20 13:40:59 字數 726 閱讀 7468

base64是一種編碼演算法,因為這種演算法只支援64個[可列印字元],所以叫做base64。

為了保證所輸出的編碼位可讀字元,base64制定了乙個編碼表,以便進行統一轉換。編碼表的大小為2^6=64,這也是base64名稱的由來。

為什麼只支援64個字元?ascii碼的範圍是0-127,其中0-31和127這33個字元屬於控制字元。剩下32-126這95個字元屬於可列印字元,包括數字,大小寫字母,常用符號。

早期的一些協議譬如傳輸郵件的smtp協議,只能傳輸可列印的ascii字元。導致原本8bit位元組碼(0-255)超出了可用範圍。譬如當郵件傳輸資源的時候,某乙個byte值是10111011b,對應十進位制187不屬於ascll碼範圍,因此無法被傳輸。 

base64編碼說明

base64編碼要求把3個8位位元組(3*8=24)轉化為4個6位的位元組(4*6=24),之後在6位的前面補兩個0,形成8位乙個位元組的形式。 如果剩下的字元不足3個位元組,則用0填充,輸出字元使用'=',因此編碼後輸出的文字末尾可能會出現1或2個'='。

base64用6bit字元表達了原本8bit字元。 

最終man編碼後成了twfu

Base64編碼演算法

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

Base64編碼演算法

base64 construe aaaaaaaa bbbbbbbb cccccccc dddddddd ffffffff 3byte to 4byte is encode 00aaaaaa 00aabbbb 00bbbbcc 00cccccc 3byte newlen 4 00aaaaaa 00aa...

base64編碼 動畫演示 Base 64 編碼

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