MIME编码,引用可打印文本中的“= C2 = A0”是什么?

时间:2010-05-05 15:15:37

标签: encoding mime quoted-printable

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

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})是一个编码字符。但在这种情况下,它似乎代表什么都没有。

3 个答案:

答案 0 :(得分:89)

“= C2 = A0”表示字节C2 A0。但是,由于这是UTF-8,它转换为00A0,这是非破坏空间的Unicode。

请参阅 UTF-8 (维基百科)。

答案 1 :(得分:0)

%C2%A0这是一个隐藏文件夹的代码,创建一个隐藏文件夹并将其保存在其中,例如,一个文本文件,然后通过浏览器打开此文件,您将在搜索栏中看到这些字符。据我了解,这些字符是可选的,不会转换为其他代码。

答案 2 :(得分:0)

%C2%A0 是一个不间断空格