BASE64編譯碼簡單實現

2021-06-18 20:36:06 字數 887 閱讀 2005

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