Java中的BASE64

located in rt.jar...

public class sun.misc.BASE64Encoder extends sun.misc.CharacterEncoder{
//..
}
public class sun.misc.BASE64Decoder extends sun.misc.CharacterDecoder{
//..
}


base64:The Base64-Transfer-Encoding is designed to represent arbitrary sequence of octets in form that need not be humanly readable.

特点:算法复杂度小,效率高。

“base64”名称的来历:

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


举个例子:转字符串"abcde"

01100001——97
01100010——98
01100011——99
01100100——100
01100101——101

0110000101100010011000110110001101100101

011000——24
010110——22
001001——9
100011——35
011001——25
000110——6
010100——20
即:"YWJjZGU",但5%2==2,所以结果为"YWJjZGU="