Bas64 基本/原理 ​介紹

Bas64 基本/原理 ​介紹

Bas64 基本/原理 介紹


資料來源: https://zh.wikipedia.org/wiki/Base64


簡介說明:

    Base64是一種基於64個可列印字元來表示二進位資料的表示方法。由於log(2)64=6,所以每6個位元為一個單元,對應某個可列印字元。3個位元組相當於24個位元,對應於4個Base64單元,即3個位元組可由4個可列印字元來表示。在Base64中的可列印字元包括字母A-Z、a-z、數字0-9,這樣共有62個字元,此外兩個可列印符號在不同的系統中而不同。一些如uuencode的其他編碼方法,和之後BinHex的版本使用不同的64字元集來代表6個二進位數字,但是不被稱為Base64。

    Base64常用於在通常處理文字資料的場合,表示、傳輸、儲存一些二進位資料,包括MIME的電子郵件及XML的一些複雜資料。


Base64索引表(值域範圍):

數值 字元   數值 字元   數值 字元   數值 字元
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

簡易手算範例01.「Man」

文字 M a n
ASCII編碼 77 97 110
位元 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0
索引 19 22 5 46
Base64編碼 T W F u


簡易手算範例 02 & 03.

    如果要編碼的位元組數不能被3整除,最後會多出1個或2個位元組,那麼可以使用下面的方法進行處理:先使用0位元組值在末尾補足,使其能夠被3整除,然後再進行Base64的編碼。在編碼後的Base64文字後加上一個或兩個=號,代表補足的位元組數。也就是說,當最後剩餘兩個八位(待補足)位元組(2個byte)時,最後一個6位的Base64位元組塊有四位是0值,最後附加上兩個等號;如果最後剩餘一個八位(待補足)位元組(1個byte)時,最後一個6位的base位元組塊有兩位是0值,最後附加一個等號。 參考下表:

文字(1 Byte) A
位元 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
位元(補0) 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Base64編碼 Q Q = =
文字(2 Byte) B C
位元 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0
位元(補0) 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0
Base64編碼 Q k M =


發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *