WEB开发网
开发学院服务器其它服务 用SMTP,POP3访问Exchange邮箱:Exchange2003系列之... 阅读

用SMTP,POP3访问Exchange邮箱:Exchange2003系列之六

 2008-11-21 00:00:00 来源:WEB开发网   
核心提示: 五 BASE64编码BASE64编码其实很简单,它把常用的64个字符重新做了个编码表,用SMTP,POP3访问Exchange邮箱:Exchange2003系列之六(9),每个BASE64编码用6个2进制数表示,BASE64的编码表如下0 A 17 R 34 i 51 z1 B 18 S 35

用SMTP,POP3访问Exchange邮箱:Exchange2003系列之六

五 BASE64编码

BASE64编码其实很简单,它把常用的64个字符重新做了个编码表。每个BASE64编码用6个2进制数表示,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 (pad) =

15 P 32 g 49 x

16 Q 33 h 50 y

从ASCII码向BASE64的转换过程中,ASCII码会每3个为一组转换为4个BASE64编码,因为每个ASICC码为8位二进制数,3×8=24,每个BASE64编码是6位二进制数,24÷6=4。

如果ASCII码字符不正好是3的倍数,例如dufei是5个ASCII码,这该怎么办呢?系统会自动用0进行填充,将ASCII码凑成3的倍数。如果有1个ASCII码是被填充的,BASE64编码中会出现一个=符号,如果有2个ASCII吗是被填充的,BASE64编码中会出现两个=号,不可能有三个=出现的,大家仔细想想为什么?

以dufei为例,dufei的ASCII码为 100 117 102 101 105, ASCII码为100 117 102 101 105 。展开成二进制是 01100100 01110101 01100110 01100101 01101001,每6个一组形成BASE64编码是 011001 000111 010101 100110 011001 010110 1001,由于dufei只有5个ASCII码,系统会用0填充为6个ASICC码,填充的结果是011001 000111 010101 100110 011001 010110 100100 000000,蓝色部分为系统填充内容。用10进制表示就是 25 7 21 38 25 22 36 ,查询BASE64编码表 可知分别对应 ZHVmZWK,最后那个由填充产生的000000用一个=表示。所以最后我们看到的BASE64编码是ZHVmZWk= 。

本文出自 “岳雷的微软网络课堂” 博客,请务必保留此出处http://yuelei.blog.51cto.com/202879/76302

上一页  4 5 6 7 8 9 

Tags:SMTP POP 访问

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接