C# 对QuotedPrintable进行解码的方法

摘要:
报价打印件简称QP,用于电子邮件系统。

         Quoted-Printable简称QP, 在Email系统中使用。它通常用于少量文本方式的8位字符的编码

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# 对QuotedPrintable进行解码的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux 下存放ssh信息的文件位置画像分析(3-2)标签建模-模型管理-新建实体下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

四、安装es-head插件

此时,es数据库可以通过弹性搜索头等第三方插件进行管理。在5.0版本之前,弹性搜索头插件可以以插件的形式直接安装。5.0版之后,需要支持nodejs环境,并且需要安装nodejs。这里使用源代码来安装npm,可以立即解压并使用。...

WPF知识点全攻略13- 绘图

行&lt;线条X1=“10”Y1=“100”X2=“260”Y2=“100“Stroke=“黑色”StrokeDashArray=“5”StrokeThickness=“2”&gt;线冲程&gt;矩形&lt;矩形边距=“5”笔划=“黑色”高度=“100”宽度=“100“&gt;&lt;&书信电报,...

git使用说明

初次使用请参考百度,google,博客园。1修改文件并提交到github[luwenwei@dev01v~/git/helww/labs]$vimREADME[luwenwei@dev01v~/git/helww/labs]$gitdiffdiff--gita/READMEb/READMEindex39d8172..464c83f100644---a/REA...

PX4 飞控源码系统框架介绍

该部分主要是PX4系统的使用的所有的数据结构的集合部分,各种任务和sensor驱动中需要获取的sensor数据都在此部分,还包含各种运行状态的数据结构。...

2022年可用QQ机器人框架

4.小李子机器人官网:https://xiaolz.cn评估:支持多个Q登录和论坛似乎是目前最活跃的。它支持许多api,可以满足许多需求。没有限制,但有很多错误。...

uni-app 安卓和IOS更新方案

热更新资源,即重新安装应用程序,并更新js等前端代码。Android平台更新方案,详见上一篇文章https://www.cnblogs.com/tiandi/p/15331522.html二、2015年,IOS平台苹果发布了一项规定,禁止用户在应用程序中被提示进行版本更新。无法直接更新通用iOSAppstore的安装包。应用程序启动后,检查是否有新版本,该版...