部落格173 base64編碼 一(編碼原理)

2021-10-03 15:11:37 字數 1318 閱讀 7784

內容:記錄一種用於以8bit為單位的二進位制編碼方法

base64編碼的原理:

1. base64就是基於64個可列印字元來表示二進位制資料

2. 編碼的規則:

* 把3個位元組變成4個位元組(3*8

=4*6

=24)

* 每76個字元加乙個換行符

* 每個計算單位由原來的8位變成6位,所以還要在每組前面加兩個0

* 原文的位元組數量應該是3的倍數,如果這個條件不能滿足的話:

原文剩餘的位元組根據編碼規則繼續單獨轉(

1變2,2變3;不夠的位數用0補全),再用=號補滿4個位元組。

這就是為什麼有些base64編碼會以乙個或兩個等號結束的原因,但等號最多只有兩個。因為乙個原字

節至少會變成兩個目標位元組,所以餘數任何情況下都只可能是0,1,2這三個數中的乙個。如果餘數是

0的話,就表示原文位元組數正好是3的倍數(最理想的情況)。如果是1的話,轉成2個base64編碼字元

,為了讓base64編碼是4的倍數,就要補2個等號;同理,如果是2的話,就要補1個等號。

3.轉換表:

0 a  17 r   34 i   51 z

1 b  18 s   35 j   52

02 c  19 t   36 k   53

13 d  20 u   37 l   54

24 e  21 v   38 m   55

35 f  22 w   39 n   56

46 g  23 x   40 o   57

57 h  24 y   41 p   58

68 i  25 z   42 q   59

79 j  26 a   43 r   60

810 k  27 b   44 s   61

911 l  28 c   45 t   62

+12 m  29 d   46 u   63

/13 n  30 e   47 v

14 o  31 f   48 w   

15 p  32 g   49 x

16 q  33 h   50 y

base64意義:

1.base64編碼不是一種加密方法,是一種編碼方法

2.將二進位制流轉變成可用ascii可見符號來表示的流

3.將原來可見的字串流變成不可直接解讀的字串流

4.由於某些系統中只能使用ascii字元。base64可用來將非ascii字元的資料轉換成ascii字元

base64編碼 動畫演示 Base 64 編碼

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

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...