代码之家  ›  专栏  ›  技术社区  ›  d-_-b

HTML电子邮件中的奇怪字符

  •  3
  • d-_-b  · 技术社区  · 16 年前

    我正在阅读来自maildir的电子邮件,有些电子邮件中有奇怪的字符集:

    =3D
    =09
    

    我认为=3d=09是一个空格。还有其他一些,但我不确定:

    =E2
    =80
    =93
    

    有人知道这些是什么以及我在这里处理的编码问题吗?

    顺便说一句,我试着通过pop3获取这些电子邮件,结果是一样的。我之所以把这个贴在上面,并不是因为我用一个普通的邮件客户端来读取数据。我正在通过php读取maildir文件。也许一个普通的电子邮件客户端会检测到这是什么编码并处理它。

    谢谢!

    1 回复  |  直到 16 年前
        1
  •  6
  •   thomasrutter    16 年前

    看起来像 quoted-printable 编码。

    这是一种编码形式,用于在可能不保留高位的介质上发送8位字符编码,即它们不是8位干净的。在过去,有些邮件服务器并没有保留一个字节的全部8位。

    • 如果您在消息源中看到这些,但在您的电子邮件客户机中没有,那么这是正常的。

    • 如果你在你的电子邮件客户端看到这些,那么不管发送者使用什么软件,都会有一些问题——很可能,内容传输编码头没有被正确指定(它告诉电子邮件客户端如何解码)。

    如果您正在编写一个电子邮件客户端,并且希望能够处理这个问题,那么您需要阅读内容传输编码头。当然,如果您这样做,您还将遇到多部分消息/附件、base64等等。