什么是MIME编码,引用的印刷文本的“ = C2 = A0”?
-
03-10-2019 - |
题
这是我试图解析的原始电子邮件的示例:
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)。
不隶属于 StackOverflow