我有一个表单的电子邮件主题:
我目前正在使用Perl的Email :: MIME模块来解码电子邮件。 @H_502_4@=?utf-8分隔符的含义是什么?如何从此字符串中提取信息?
=?utf-8?B?T3.....?=@H_502_4@电子邮件的正文是utf-8 base64编码 – 并且解码得很好。
我目前正在使用Perl的Email :: MIME模块来解码电子邮件。 @H_502_4@=?utf-8分隔符的含义是什么?如何从此字符串中提取信息?
解决方法
encoded-word
令牌(根据
RFC 2047)可以出现在某些标题的值中。它们解析如下:
=?<charset>?<encoding>?<data>?=@H_502_4@在这种情况下,Charset是UTF-8,编码是B,这意味着base64(另一个选项是Q,这意味着Quoted Printable)。 @H_502_4@要阅读它,首先解码base64,然后将其视为UTF-8字符。 @H_502_4@另请阅读各种Internet邮件RFC以获取更多详细信息,主要是RFC 2047。 @H_502_4@由于您使用的是Perl,因此可以使用Encode::MIME::Header:
@H_502_4@SYNOPSIS @H_502_4@06001 @H_502_4@ABSTRACT @H_502_4@This module implements RFC 2047 Mime
Header Encoding. There are 3 variant
encoding names; MIME-Header,MIME-B
and MIME-Q. The difference is
described below @H_502_4@06002