点击下载 QuotedPrintableEncoding.rar

这个类是关于QuotedPrintableEncoding的帮助类
看下面代码吧

/// <summary>
/// 类说明:Assistant
/// 编 码 人:苏飞
/// 联系方式:361983679
/// 更新网站:[url=http://www.cckan.net/thread-655-1-1.html]http://www.cckan.net/thread-655-1-1.html[/url]
/// </summary>
using System;
using System.IO;
using System.Text.RegularExpressions; namespace DotNet.Utilities
{
/// <summary>
/// This class is based on the QuotedPrintable class written by Bill Gearhart
/// </summary>
public static class QuotedPrintableEncoding
{
private const string Equal = "="; private const string HexPattern = "(\\=([0-9A-F][0-9A-F]))"; public static string Decode(string contents)
{
if (contents == null)
{
throw new ArgumentNullException("contents");
} using (StringWriter writer = new StringWriter())
{
using (StringReader reader = new StringReader(contents))
{
string line;
while ((line = reader.ReadLine()) != null)
{
/*remove trailing line whitespace that may have
been added by a mail transfer agent per rule
#3 of the Quoted Printable section of RFC 1521.*/
line.TrimEnd(); if (line.EndsWith(Equal))
{
writer.Write(DecodeLine(line));
} //handle soft line breaks for lines that end with an "="
else
{
writer.WriteLine(DecodeLine(line));
}
}
}
writer.Flush(); return writer.ToString();
}
} private static string DecodeLine(string line)
{
if (line == null)
{
throw new ArgumentNullException("line");
} Regex hexRegex = new Regex(HexPattern, RegexOptions.IgnoreCase); return hexRegex.Replace(line, new MatchEvaluator(HexMatchEvaluator));
} private static string HexMatchEvaluator(Match m)
{
int dec = Convert.ToInt32(m.Groups[].Value, );
char character = Convert.ToChar(dec);
return character.ToString();
}
}
}

[Mime] QuotedPrintableEncoding帮助类 (转载)的更多相关文章

  1. [Mime] MimeHeaders--MimeHeader帮助类 (转载)

    点击下载 MimeHeaders.rar 这个类是关于Mime的Headers类看下面代码吧 /// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 // ...

  2. [Mime] MimeEntity--MimeEntity Mime实体帮助类 (转载)

    点击下载 MimeEntity.rar 这个类是关于Mime实体的类看下面代码吧 /// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 /// 联系方式 ...

  3. [Mime] MimeReader--读取Mime的帮助类 (转载)

    点击下载 MimeReader.rar 这个类是关于MimeReader的帮助类看下面代码吧 /// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 // ...

  4. 常用MIME类型(Flv,Mp4的mime类型设置)(转载)

    转载地址:http://www.cuplayer.com/player/Help/2011/0625/83.html 也许你会在纳闷,为什么我上传了flv或MP4文件到服务器,可输入正确地址通过htt ...

  5. JAVA的StringBuffer类(转载整理)____非常重要的一个类,线程安全,不用每次创建一个对象,以及和String的区别

    核心部分转载自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616330.html StringBuffer类和String一样,也用来代 ...

  6. GJM :FPSCalc-简单FPS观测类 [转载]

    版权声明:本文原创发表于 [请点击连接前往] ,未经作者同意必须保留此段声明!如有侵权请联系我删帖处理! FPSCalc--简单FPS观测类 利用Unity做的手游项目很多时候要保证流畅度,流畅度最直 ...

  7. 探索Win32系统之窗口类(转载)

    Window Classes in Win32 摘要 本文主要介绍win32系统里窗口类的运做和使用机制,探索一些细节问题,使win32窗口类的信息更加明朗化. 在本文中,"类", ...

  8. [序列化] Serialize--序列化帮助类 (转载)

    点击下载 Serialize.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.序列化2.要序列化的类3.序列化例子看下面代码吧 /// <summary> /// 类说明:As ...

  9. [时间操作] C#TimeHelper时间格式化帮助类 (转载)

    点击下载 TimeHelper.rar 主要功能如下 .将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间 .将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间 . ...

随机推荐

  1. Set up JBPM5.4 Final Installer to use MS SQL Server 2008 using JTDS(转)

    [-] A What I Am Going To Do B The Setup Steps C Lets Install it   A. What I Am Going To Do B. The Se ...

  2. android学习——eclipse的svn的搭建

    一.svn 的在线安装 下面为在线安装SVN插件. 以下是一些关键步骤: 其中http://subclipse.tigris.org/update_1.8.x是SVN插件的下载站点[subclipse ...

  3. Text Reverse

    Text Reverse Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  4. Ubuntu全新系统一些配置

    0.安装JDK,http://www.oracle.com/technetwork/java/javase/downloads/index.html 1.安装Intellij IDEA,https:/ ...

  5. Web前端常见问题处理

    1. 浏览器后退按钮 这个在注册或者登陆的时候是一个普遍的问题,登陆之后,跳转到另外一个页面,我的鼠标有两个侧键,是用于前进和后退的,有时候会误点侧键,这个时候页面又会回到之前的登录页面,但事实是用户 ...

  6. 鸟哥的Linux私房菜 第十八章、认识系统服务 (daemons)

    什么是 daemon 与服务 (service) Linux Daemon (守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些事件.它不需要用户输入就能运行 ...

  7. KindEditor编辑器(初始化参数)

    width 编辑器的宽度,可以设置px或%,比textarea输入框样式表宽度优先度高. 数据类型: String 默认值: textarea输入框的宽度 示例: K.create('#id', {  ...

  8. 连接数据库超时设置autoReconnect=true

    1,问题现象: com.mysql.jdbc.CommunicationsException: The last packet successfully received from the serve ...

  9. 键盘事件与JS Filter

    今天在写一个JS输入文本过滤的程序,本来我的设想是在keypress事件中获取按下的键,然后再进行判断,这样的话总是出错,最后终于明白自己把事件的发生顺序搞错了,应该是先keydown,然后是keyp ...

  10. Android Dev

    [2015-04-22 13:30:37 - branch_1.5.1_WelcomeActivity] R.java was modified manually! Reverting to gene ...