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

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})是一个编码的字符。但是在这种情况下,它似乎一无所有。

有帮助吗?

解决方案

“ = C2 = A0”表示字节C2 A0。但是,由于这是UTF-8,因此转化为00A0,这是非断裂空间的Unicode。

UTF-8 (Wikipedia)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top