gpt4 book ai didi

perl - 这个 Perl 字符串是用什么编码的?

转载 作者:行者123 更新时间:2023-12-03 18:16:37 25 4
gpt4 key购买 nike

我正在使用 Mail::IMAPClient 从 imap 服务器检索邮件 header 。它工作得很好。但是,当标题包含 [a-z|A-Z|0-9] 以外的任何字符时,我会得到如下所示的字符串:

  • 主题:Un message en =?UTF-8?B?ZnJhbsOnYWlzIMOgIGxhIGNvbg==?=(原始字符串:“Un message en français à la con”)
  • body :
    =C3=A9aeio=C3=B9=C3=A8=C3=A8(原字符串:éaeioùèè)
  • 这是什么奇怪的格式?那是著名的“perl 字符串
    内部”格式?
  • 处理人类习语最安全的方法是什么
    来自 IMAP 服务器?
  • 最佳答案

    正文编码是 Quoted-Printable; header (主题)编码是 MIME“编码字”编码(base64 的“B”类型)。处理这两种情况的最佳方法是将电子邮件传递到能够处理 MIME 的模块中,例如 Email::MIME或者更老更臭的 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 .

    关于perl - 这个 Perl 字符串是用什么编码的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9968664/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com