Это - электронное письмо сырых данных в качестве примера, которое я пытаюсь проанализировать:
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, что является Юникодом для неразрывного пробела.
See UTF-8 (Wikipedia).