Qu'est-ce que « = C2 = A0 » dans MIME codé, texte cité imprimable?
-
03-10-2019 - |
Question
Ceci est un exemple email brut que je suis en train d'analyser:
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
Quelle est = C2 = A0? J'ai essayé une demi-douzaine de parseurs cité imprimables, mais aucune poignée cela correctement. Comment peut-on analyser correctement ce en C #?
Honnêtement, pour l'instant, je codage:
//TODO WTF
encoded = encoded.Replace("=C2=A0", "");
Parce que je ne peux pas comprendre pourquoi ce texte est là au hasard dans le contenu MIME et n'est pas censé être rendu en quoi que ce soit. En tout enlever, je reçois l'effet désiré - mais pourquoi
?!Pour être clair, je sais que (= [0-9A-F] {2}) est un caractère codé. Mais dans ce cas, il représente apparemment rien.
La solution
"= C2 = A0" représente les octets C2 A0. Cependant, étant donné que cela est UTF-8, il se traduit par 00A0, qui est l'Unicode pour l'espace insécable.
Voir UTF-8 (Wikipedia).