エンコードされた、引用された印刷可能なテキストの「= 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に変換されます。これは、非壊れた空間のユニコードです。
見る UTF-8 (ウィキペディア)。
所属していません StackOverflow