共享quoted-printable解码(C#)-转载

简介: 原文链接: http://www.cnblogs.com/jerrie/archive/2006/07/29/462798.html#commentform 今天终于把邮件的收发搞定,借助于jmail。

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

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

 1quoted-printable解码#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

目录
相关文章
|
前端开发 API
图片或文件Blob、File、Base64之间的相互转换
在做前端项目的时候,遇到图片的上传或者下载时,不可避免的会遇到Blob、File、Base64三种类型的转换。那么今天就总结下,三者之间的相互转换。 首先我们看看base64 ,File 对象,Blob 对象长什么样的,怎么来的。
559 1
QString与char *之间的完美转换,支持含有中文字符的情况
QString与char *之间的完美转换,支持含有中文字符的情况
2036 0
|
7月前
|
XML JSON 安全
Base64编码原理与在网络传输中的应用
Base64编码原理与在网络传输中的应用
|
9月前
394.字符串解码
394.字符串解码
46 3
|
数据可视化 数据管理 数据处理
编码集的作用?
编码集的作用?
|
JavaScript Unix
App Inventor 2 实现Ascii码转换(Ascii编码与解码)
之前有同学问,App Inventor 2 字符及Ascii码如何进行转换,经过调查,其原生的组件和内置块无法完成这个功能,网上也有利用Web客户端组件执行js代码来进行转换,不过逻辑稍复杂效率还不高。这里介绍一个拓展可以非常方便的完成Ascii码的转换,拓展的名字是:AsciiConversion。 此扩展允许用户将 Ascii 代码(列表)转换为相应的文本,也可以将指定的字符转换为相应的 Ascii 代码。
196 0
|
Java
小程序中base64解码/编码
很多人都在为小程序如何实现base64编码/解码困扰,于是我参考前端大佬们对JavaScript中实现base64的文章进行了改写。简单实现了一个。。希望能帮助到小程序开发一线的大家吧、 不多说直接上代码: /** * UTF16和UTF8转换对照表 * U+00000000 – U+000000...
4955 13
C#使用base64对字符串进行编码和解码的测试
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。
C#使用base64对字符串进行编码和解码的测试
|
内存技术
【音频处理】WAV 文件格式分析 ( 逐个字节解析文件头 | 相关字段的计算公式 )(二)
【音频处理】WAV 文件格式分析 ( 逐个字节解析文件头 | 相关字段的计算公式 )(二)
214 0
【音频处理】WAV 文件格式分析 ( 逐个字节解析文件头 | 相关字段的计算公式 )(二)
|
内存技术
【音频处理】WAV 文件格式分析 ( 逐个字节解析文件头 | 相关字段的计算公式 )(三)
【音频处理】WAV 文件格式分析 ( 逐个字节解析文件头 | 相关字段的计算公式 )(三)
248 0
【音频处理】WAV 文件格式分析 ( 逐个字节解析文件头 | 相关字段的计算公式 )(三)