base64
是一種基於64個可列印字元來表示二進位制資料的表示方法。其原理很簡單,64=2^6,因此這64個可列印字元可以與0x00~0x3f一一對應。這樣每個位元組只用到了低6位,高兩位為0.那麼在原編碼中3個位元組(24位)可以用base64的四個位元組表示。
base64常用於在通常處理文字資料的場合,表示、傳輸、儲存一些二進位制資料。包括mime的email,email via mime,在xml中儲存複雜資料.
其編譯碼簡單實現如下:
public class base64encoder ;
private static int decode_table = ;
public base64encoder()
public string encode(byte a)
else
break;
case 6:
if (bytepos == a.length -1)
else
break;
default:
break;
}curpos += 6;
} if (nn ==2 )
else if (nn == 4)
return toreturn.tostring(); }
public byte decode(byte source)
int size = length*6/8;
byte result = new byte[size];
for (int i = 0, j =0; i < length; i+=4, j+=3)
if (i < length - 3)
} return result;
}}
base64編譯碼原理
base64 base64的編碼都是按字串長度,以每3個8bit的字元為一組,然後針對每組,首先獲取每個字元的ascii編碼,然後將ascii編碼轉換成8bit的二進位制,得到一組3 8 24bit的位元組 然後再將這24bit劃分為4個6bit的位元組,並在每個6bit的位元組前面都填兩個高位0,...
Base64編譯碼 C 版
include string using namespace std class zbase64 include stdafx.h include zbase64.h string zbase64 encode const unsigned char data,intdatabyte int lin...
Base64編譯碼 C 版
include string using namespace std class zbase64 include stdafx.h include zbase64.h string zbase64 encode const unsigned char data,int databyte int li...