C# 对Quoted-Printable进行解码的方法
2012-09-07 18:19
246 查看
Quoted-Printable简称QP, 在Email系统中使用。它通常用于少量文本方式的8位字符的编码
QP的编码方式比较简单,它的算法是:读一个字符,如果ASCII码大于127,即字符的 第8位是1的话,
进行编码,否则忽略(有时也对7位字符编码)
在c#中可以使用这个方法来对Quoted-Printable进行解码:
QP的编码方式比较简单,它的算法是:读一个字符,如果ASCII码大于127,即字符的 第8位是1的话,
进行编码,否则忽略(有时也对7位字符编码)
在c#中可以使用这个方法来对Quoted-Printable进行解码:
//Quoted-Printable 解码 public static string DecodeQP(string codeString) { //编码的字符集 string mailEncoding = "GB2312"; StringBuilder strBud = new StringBuilder(); for (int i = 0; i < codeString.Length; i++) { if (codeString[i] == '=') { if (Convert.ToInt32((codeString[i + 1] + codeString[i + 2]).ToString(), 16) < 127) { strBud.Append( Encoding.GetEncoding(mailEncoding).GetString( new byte[] { Convert.ToByte((codeString[i + 1] + codeString[i + 2]).ToString(), 16) })); i += 2; continue; } if (codeString[i + 3] == '=') { strBud.Append( Encoding.GetEncoding(mailEncoding).GetString( new byte[] { Convert.ToByte((codeString[i + 1].ToString() + codeString[i + 2].ToString()), 16), Convert.ToByte((codeString[i + 4].ToString() + codeString[i + 5].ToString()), 16) })); i += 5; continue; } } else { strBud.Append(codeString[i]); } } return strBud.ToString(); }
相关文章推荐
- C# 对Quoted-Printable进行解码的方法
- C#后台对javascript的escape()方法编码后的字符进行解码
- C# Quoted-Printable编码、解码
- [C#] UTF-8 ENCODING=QUOTED-PRINTABLE 的解码和编码
- c#扩展方法奇思妙用高级篇四:对扩展进行分组管理
- C#中在控件中画图并用TIMER控件进行控制方法的实现
- MIME之Quoted-Printable编解码
- C#使用自定义算法对数组进行反转操作的方法
- C#使用NewtonSoft进行Json序列化,设置字段首字母小写方法
- Quoted-printable 编码介绍、Quoted-printable编码解码转换方法
- .NET/C#中对对象集合进行查询的方法 以及相关的 Predicate<T> 及 Action<T> 的用法
- 7-1通信系统中为什么要进行编码和解码?常见的编码方法有哪些?
- C# String进行Url编码,Url编码解码生成String
- C#中使用Char类中的方法对字符进行各种操作,判断是否为字母、数字、标点符号、分隔符或空白。
- C# 使用 itextsharp 对pdf文件进行分割的几种方法(1)——按页码拷贝分割
- 原创: Base64, Quoted-Printable 的解码与编码函数
- C#解码base64编码二进制数据的方法
- C#解码base64编码二进制数据的方法
- MIME之Quoted-Printable编解码