Quoted-Printable编码的邮件解码,vb.net代码怎么写,谢谢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Quoted-Printable编码的邮件解码,vb.net代码怎么写,谢谢相关的知识,希望对你有一定的参考价值。
Dim Lines = System.IO.File.ReadAllLines("D:\\zhege\\qp.txt")\'邮件源代码应该是分行读取,替换掉这个数组就行。for代码段符合流的读取行方法(readline)。
Dim codeBuilder As New System.Text.StringBuilder
For Each code As String In Lines
code = code.Replace("==", "=")
If code.EndsWith("=") Then
code = code.Substring(0, code.Count - 1)
codeBuilder.Append(code)
ElseIf code <> "" Then
codeBuilder.AppendLine(code)
End If
Next
Dim reg As New System.Text.RegularExpressions.Regex("(=(\\d|[A-F])2)1,")
Dim match As System.Text.RegularExpressions.Match = Nothing
While reg.IsMatch(codeBuilder.ToString)
match = reg.Match(codeBuilder.ToString)
Dim Bytes As New List(Of Byte)
For Each cMatch As String In Replace(match.Value, "=", "", 1, 1).Split("="c)
Bytes.Add(CByte("&h" & cMatch))
Next
codeBuilder = codeBuilder.Replace(match.Value, System.Text.Encoding.Default.GetString(Bytes.ToArray))
End While
MsgBox(codeBuilder.ToString)
我只测试了一段qp代码,可能有误。如果qp不是Default编码,结果可能是乱码,需要注意追问
你的代码只是把所有的=去掉了,得到了16进制字符串。怎样将16进制字符串转换成人可以看得懂得文字呢?
追答System.Text.Encoding.Default.GetString(Bytes.ToArray))
这里不是已经转换成文字了。
没
追答不熟悉
Quoted-Printable编码
没
你百度下quoted printable邮件编码就知道了,我现在要解码
如何测试文本片段是不是是 Quoted-printable 编码的
【中文标题】如何测试文本片段是不是是 Quoted-printable 编码的【英文标题】:How to test if a text fragment is Quoted-printable encoded如何测试文本片段是否是 Quoted-printable 编码的 【发布时间】:2011-11-11 22:22:06 【问题描述】:我正在寻找一种在 Java 中测试文本片段是否为quoted-printable encoded 的稳健方法。最直接的方法是测试字符串是否包含与以下正则表达式匹配的字符序列:(=[A–F0-9][A–F0-9])|(=[\r][\n])
(编码字符 + =
和换行符的软中断)。
【问题讨论】:
在给定任意字符串片段的情况下,没有可靠的方法来检测这种情况,为什么需要它?文字从何而来? 可以在此处找到文本片段的示例:en.wikipedia.org/wiki/Quoted-printable#Example。我在一个电子邮件数据库工作 - isi.edu/~adibi/Enron/Enron.htm。有些电子邮件是引用可打印编码的,有些则不是。 电子邮件标头指示编码。 cs.cmu.edu/~enron 看起来与标题具有相同的语料库。也许您可以与 ISI 人员取得联系并指出他们的错误,和/或更详细地解释他们(认为他们)是如何清理语料库的。 【参考方案1】:我会否定测试;包含 = 后跟换行符或两个十六进制数字以外的任何内容的文本不是 QP;但这仍然是一个弱启发式 - 有人可以将=3D
放入未编码的文本中,只是为了它(我只是这样做了)。底线:如果你不知道编码,你就不知道编码。
【讨论】:
我正在慢慢得出同样的结论。谢谢。以上是关于Quoted-Printable编码的邮件解码,vb.net代码怎么写,谢谢的主要内容,如果未能解决你的问题,请参考以下文章
编码问题:在 Python 中解码 Quoted-Printable 字符串
编码问题:解码Python中的Quoted-Printable字符串