代码之家  ›  专栏  ›  技术社区  ›  TheSoftwareJedi jac

什么是mime编码、引用的可打印文本中的“=c2=a0”?

  •  48
  • TheSoftwareJedi jac  · 技术社区  · 14 年前

    这是我试图解析的原始电子邮件示例:

    MIME-version: 1.0
    Content-type: text/html; charset=UTF-8
    Content-transfer-encoding: quoted-printable
    X-Mailer: Verizon Webmail
    X-Originating-IP: [x.x.x.x]
    
    =C2=A0test testing testing 123
    

    什么是c2=a0?我试过半打引用的可打印解析器,但没有一个能正确处理这个问题。 如何用c正确地解析这个?

    老实说,现在,我在编码:

    //TODO WTF
    encoded = encoded.Replace("=C2=A0", "");
    

    因为我不明白为什么在mime内容中随机出现了文本,而且不应该被呈现成任何东西。只要去掉它,我就能得到想要的效果——但为什么呢?!

    为了清楚起见,我知道(=[0-9a-f]{2})是一个编码字符。但在这种情况下,它似乎什么也不代表。

    1 回复  |  直到 14 年前
        1
  •  84
  •   Peter Mortensen icecrime    6 年前

    “=c2=a0”表示字节c2a0。但是,因为这是utf-8,所以它转换为00a0,这是用于不间断空格的unicode。

    UTF-8 (维基百科)。