当前位置:首页 > 网络编程 > 软件语言 > .NET > C#中对POP3邮件解码

C#中对POP3邮件解码

点击次数:54 次 发布日期:2008-11-06 08:08:04 作者:源代码网
源代码网推荐
广告载入中
Base64和下面将要介绍的Quoted-Printable都属于MIME
源代码网推荐(多部分( multi-part)、多媒体电子邮件和 WWW 超文本的
源代码网推荐一种编码标准,用于传送诸如图形、声音和传真等非文本数
源代码网推荐据)。MIME定义在RFC1341中。
源代码网推荐 Base64是现今在互联网上应用最多的一种编码,几乎所
源代码网推荐有的电子邮件软件头把它作为默认的二进制编码,它已经成
源代码网推荐了现今电子邮件编码的代名词。
源代码网推荐 下面是Base64的一个例子,从例子中,您也可以看到
源代码网推荐Base64与电子邮件的的紧密联系:
源代码网推荐Content-Type: text/plain;charset="cn-gb"
源代码网推荐Content-Transfer-Encoding: BASE64
源代码网推荐CQkJICAgIKG2wtLC68vjt6i088irobcNCgnX99XfOm1vZ2Fvo6yw19TGu8a619W o6h0ZWxuZXQ6
源代码网推荐
源代码网推荐Ly8yMDIuMTEyLjIwLjEzMjoyM6Ops8nUsaGjDQoJICAgICAgxKq438jtvP65pNf3ytKjumh0dHA6
源代码网推荐
源代码网推荐Ly9tb2dhby5iZW50aXVuLm5ldA0KCQkJRW1haWx0bzptb2dhb0AzNzEubmV0DQoJICAgKioqKioq
源代码网推荐
源代码网推荐KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICAgICAgICAgICAgICAgDQoJ
源代码网推荐
源代码网推荐ICAgKiCz/cHLvMfS5Mqyw7S2vLK7tPjX36Oss/3By9fjvKPKssO0tryyu8H0z8IqDQoJICAgKioq
源代码网推荐
源代码网推荐KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq

源代码网推荐 你可以把它单独存成一个文件,可以取名为:mogao.eml,
源代码网推荐双击可以用OutLook打开(前两行为邮件的原始信息,从第四行
源代码网推荐开始为编码内容)。
源代码网推荐 Base64的算法同Uuencode的算法很接近,也很简单:它将
源代码网推荐字符流顺序放入一个 24 位的缓冲区,缺字符的地方补零。然
源代码网推荐后将缓冲区截断成为 4 个部分,高位在先,每个部分 6 位,
源代码网推荐用下面的64个字符重新表示:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv
源代码网推荐wxyz0123456789 /"。
源代码网推荐如果输入只有一个或两个字节,那么输出将用等号"="补足。
源代码网推荐这可以隔断附加的信息造成编码的混乱。它每行一般为76个字符。
源代码网推荐 下面我给出Base64的编码和解码的C语言描述:
源代码网推荐/*Base64编码*/
源代码网推荐void Base64(unsigned char chasc[3],unsigned char chuue[4])
源代码网推荐/*
源代码网推荐 chasc:未编码的二进制代码
源代码网推荐 chuue:编码过的Base64代码
源代码网推荐*/
源代码网推荐{
源代码网推荐int i,k=2;
源代码网推荐unsinged char t=NULL;
源代码网推荐for(i=0;i<3;i )
源代码网推荐{
源代码网推荐 *(chuue i)=*(chasc i)>>k;
源代码网推荐 *(chuue i)|=t;
源代码网推荐 t=*(chasc i)<<(8-k);
源代码网推荐 t>>=2;
源代码网推荐 k =2;
源代码网推荐}
源代码网推荐*(chuue 3)=*(chasc 2)&63;
源代码网推荐for(i=0;i<4;i )
源代码网推荐 if((*(chuue i)>=0)&&(*(chuue i)<=25)) *(chuue i) =65;
源代码网推荐 else if((*(chuue i)>=26)&&(*(chuue i)<=51)) *(chuue i) =71;
源代码网推荐 else if((*(chuue i)>=52)&&(*(chuue i)<=61)) *(chuue i)-=4;
源代码网推荐 else if(*(chuue i)==62) *(chuue i)=43;
源代码网推荐 else if(*(chuue i)==63) *(chuue i)=47;
源代码网推荐}
源代码网推荐/*Base64解码*/
源代码网推荐void unBase64(unsigned char chuue[4],unsigned char chasc[3])
源代码网推荐/*
源代码网推荐chuue:未解码的Base64代码
源代码网推荐chasc:解码过的二进制代码
源代码网推荐*/
源代码网推荐{int i,k=2;
源代码网推荐unsigned char t=NULL;
源代码网推荐for(i=0;i<4;i )
源代码网推荐 if((*(chuue i)>=65)&&(*(chuue i)<=90)) *(chuue i)-=65;
源代码网推荐 else if((*(chuue i)>=97)&&(*(chuue i)<=122)) *(chuue i)-=71;
源代码网推荐 else if((*(chuue i)>=48)&&(*(chuue i)<=57)) *(chuue i) =4;
源代码网推荐 else if(*(chuue i)==43) *(chuue i)=62;
源代码网推荐 else if(*(chuue i)==47) *(chuue i)=63;

源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华