我解析了电子邮件消息,我找到了编码的部分:7bit 如何将此部分的文本转换为纯文本? 我用perl
答案 0 :(得分:1)
Content-Transfer-Encoding: 7bit
表示文本已经普通的旧ASCII文本。无需转换。 (好吧,除非Content-Type
标题指示非基于ASCII的字符集,但这些很少见,特别是对于7位文本。)
答案 1 :(得分:0)
听起来你有UU-encoded数据(旧方法)或MIME-encoded。要解决此问题,您可以分别使用Convert::UU和MIME::Base64 CPAN模块。
使用MIME :: Base64(或其纯-Perl实现,MIME :: Base64 :: Perl):
use MIME::Base64::Perl;
my $decoded = decode_base64($encoded);
您如何知道差异?
现代MIME编码文本看起来像这样(特别注意MIME-Version:
标题,它告诉你它的MIME编码以及Content-Transfer-Encoding
标题告诉你编码基础 - 如果它不是base64,你需要一个不同的CPAN模块:
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="frontier"
This is a message with multiple parts in MIME format.
--frontier
Content-Type: text/plain
This is the body of the message.
--frontier
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
UU编码的文本看起来像:
begin 644 cat.txt
#0V%T
`
end
如果编码数据看起来与上述任何一个样本不同,请发布确切的格式,以便我们确定它是什么。