这个Perl字符串是什么编码的?
发布时间:2020-12-15 23:29:54 所属栏目:大数据 来源:网络整理
导读:我正在使用Mail :: IMAPClient从imap服务器检索邮件头.它很棒.但是当标题包含[a-z | A-Z | 0-9]之外的任何字符时,我使用的字符串看起来像这样: 主题:取消消息en =?UTF-8?B?ZnJhbsOnYWlzIMOgIGxhignvbg ==?=(原始字符串:“Un messageenfran?aisàlacon
我正在使用Mail :: IMAPClient从imap服务器检索邮件头.它很棒.但是当标题包含[a-z | A-Z | 0-9]之外的任何字符时,我使用的字符串看起来像这样:
>主题:取消消息en =?UTF-8?B?ZnJhbsOnYWlzIMOgIGxhignvbg ==?=(原始字符串:“Un messageenfran?aisàlacon”) >这种奇怪的格式是什么?这是着名的“perl字符串 解决方法
正文编码是Quoted-Printable;标题(主题)编码是MIME“encoded-word”编码(base64的“B”类型).处理这两者的最佳方法是将电子邮件传递到能够处理MIME的模块,例如
Email::MIME或更旧的buggier
MIME::Lite.
例如: # $message was retrieved from IMAP my $mime = Email::MIME->new($message); my $subject = $mime->header('Subject'); # automatically decoded my $body = $mime->body_str; # also automatically decoded 但是,如果您需要在整个消息的上下文之外处理它们,还有像Encode::MIME::Header和MIME::QuotedPrint这样的模块. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |