1.編碼表
2.原理[漢字不能base64編碼]
base64 編碼就是將字元以3個為一組,因為乙個字元由8個位組成,3*8=24位,然後以順序以6個位拿出,前面補2位,湊成8位--乙個位元組
原位元組不能被3整除的,在後面補 由8個0,構成的單位元組,一般補1個或是2個(0000 0000),這些後面補的位元組不能用base64編碼對應,應該是異常字元,用「=」號替換,
所以,base64編碼一般最後會有1~2個「=」號
示例:
base64編碼前:lucy
l u c y3.轉換過程ascii: 76
11799
1218bit位元組: 01001100
01110101
01100011
01111001
00000000
00000000
6bit位元組: 010011
000111
010101
100011
011110
010000
000000
000000
十進位制: 19721
3530
16 (異常) (異常)
對應編碼: t h v j e q = =
base64編碼後的結果:thvjeq==
1基本轉換過程1.//
得到ascii碼
2 ascii =convert.toint32(str).tostring();
32.//
得到二進位制資料
4 binary = convert.tostring(convert.tobyte(ascii),2).padleft(8,'0'
);53.//
擷取6位元組 前面補0
6 bit6 = binary.substring(0, 6);7
84.//
轉換為十進位制
910 position = convert.toint32(bit6,2
);11
125.//
獲取對應的base64碼
1314 c = base64hash.toarray()[position];
4.控制台實現
1控制台實現static
void main(string
args)
266 previous =binary;
67 i++;68}
6970
if (mod == 0)//
需要補兩個字元(0000 0000 0000 0000)
7182
else
if (mod == 1)//
需要補乙個字元(0000 0000)
8394
console.writeline(sb.tostring());
9596
console.readkey();
97 }
BASE64 編碼原理
unit ubase64 編碼原理 將3個位元組轉換成4個位元組 3 x 8 24 4x6 先讀入3個位元組,每讀乙個位元組,左移8位,再右移四次,每次6位,這樣就有4個 位元組了。解碼原理 將4個位元組轉換成3個位元組,先讀入4個6位 用或運算 每次左 移6位,再右移3次,每次8位,這樣就還原了。...
Base64編碼原理
一 base64編碼原理 1 base64編碼原理簡單介紹 base64要求把每三個8bit的位元組轉換為四個6bit的位元組 3 8 4 6 24 然後把6bit再添兩位高位0,組成四個8bit的位元組,也就是說,轉換後的字串理論上將要比原來的長1 3。編碼原理如下所示 1 base64的編碼都是...
Base64編碼原理
所謂base64,就是說選出64個字元 小寫字母a z 大寫字母a z 數字0 9 符號 再加上作為墊字的 實際上是65個字元 作為乙個基本字符集。然後,其他所有符號都轉換成這個字符集中的字元。具體來說,轉換方式可以分為四步。第一步,將每三個位元組作為一組,一共是24個二進位制位。第二步,將這24個...