quotedprintable解码(C#)转载

原文链接: http://www.cnblogs.com/jerrie/archive/2006/07/29/462798.html#commentform

今天终于把邮件的收发搞定,借助于jmail。虽然不是很满意,但基本功能都能实现。过程中,也遇到过不少问题,如解码问题,收未读邮件问题等等。
      邮件解码,一般分为base64和quoted-printable,在网上曾搜索过,但未找到C#版的(可能是未努力去找),只找到C++和C两个版本的。在这里,俺把C#版的quoted-printable解码发布出来,供大家分享:

 1#region quoted-printable解码
 2        private string QPUnEncryCode(string source)
 3        {
 4            source=source.Replace ("=\r\n","");
 5            int len=source.Length ;
 6            string dest=string.Empty ;
 7            int i=0;
 8            while(i<len)
 9            {
10                string temp=source.Substring (i,1);
11                if(temp=="=")
12                {
13                    int code=Convert.ToInt32 (source.Substring (i+1,2),16);
14                    if(Convert.ToInt32 (code.ToString (),10)<127) 
15                    {
16                        dest+=((char)code).ToString ();
17                        i=i+3;
18                    }
19                    else  
20                    {
21                        dest+=System.Text.Encoding.Default.GetString(new byte []{Convert.ToByte  (source.Substring (i+1,2),16),Convert.ToByte  (source.Substring (i+4,2),16)}) ;
22                        i=i+6;
23                    }
24                }
25                else
26                {
27                    dest+=temp;
28                    i++;
29                }
30            }
31            return dest;
32        }
33
34        #endregion

 
原文地址:https://www.cnblogs.com/tjy9999/p/2670562.html