1.每個字元按照ascii編碼對應乙個8bit,以3字元為一組
2.3*8=24,分成4份,每份6bit,在每份高位新增00,重新合成乙個4份8bit資料
3.新的4份8bit資料換算成10進製,得到4個數字
4.根據下面的base64編碼表,得到對應的新的字元
jascii
8374
748bit
01010011
01001010
01001010
6bit
010100
110100
101001
001010
新8bit
00010100
00110100
00101001
00001010
10進製
2052
4110結果u
opkg
oodascii
7179
7968
8bit
01000111
01001111
01001111
01000100
00000000
00000000
6bit
010001
110100
111101
001111
010001
000000
000000
000000
新8bit
00010001
00110100
00111101
00001111
00010001
00000000
00000000
00000000
10進製
1752
6115170
00結果r
09pr
a==
最後兩位純粹是自動補齊,所以不能直接換成a,而是用特殊符號=進行表示。
base64encoder encode = new base64encoder();
string base64 = encode.encode(str);
base64decoder decoder = new base64decoder();
string str = new string(decoder.decodebuffer(base64));
base64編碼原理解析
一.base64編碼由來 為什麼會有base64編碼呢?因為有些網路傳送渠道並不支援所有的位元組,例如傳統的郵件只支援可見字元的傳送,像ascii碼的控制字元就不能通過郵件傳送。這樣用途就受到了很大的限制,比如二進位製流的每個位元組不可能全部是可見字元,所以就傳送不了。最好的方法就是在不改變傳統協議...
Base64原理解析
base64是基於64個字元進行轉換的,因為2的6次方正好為64,所以6bit就可以表示出64個字元,因此在轉換的過程中以6bit表示乙個字元。原理 3x8 4x6,核心是這個公式 base64的編碼都是按字串長度,以每3個8bit的字元為一組 針對每組,首先獲取每個字元的ascii編碼值 將asc...
BASE64 編碼原理
unit ubase64 編碼原理 將3個位元組轉換成4個位元組 3 x 8 24 4x6 先讀入3個位元組,每讀乙個位元組,左移8位,再右移四次,每次6位,這樣就有4個 位元組了。解碼原理 將4個位元組轉換成3個位元組,先讀入4個6位 用或運算 每次左 移6位,再右移3次,每次8位,這樣就還原了。...