2016-04-17 15 views
1

現在、ファイルからメールを読み取り、ヘッダー情報の一部を処理しています。非ASCII文字はRFC2047に従ってquoted-printableまたはBase64でエンコードされているため、ASCII以外の文字は含まれません。ファイルがUTF-8、Win-1252、またはISO-8859- *文字エンコーディングのいずれかでエンコードされている場合、これらの文字セットのすべてが同じ場所にASCIIが埋め込まれているため、問題は発生しません(0x41Aこれらすべての文字セットで)。文字エンコーディングASCIIでの互換性

しかし、ファイルがそのようにASCIIを埋め込まないエンコードを使用してエンコードされている場合はどうなりますか?このようなエンコーディングは存在するのでしょうか?もしそうなら、それらを検出する信頼できる方法さえありますか?

答えて

1

非常に興味深い記事thisに基づいてMozillaのCharset-detectorがあります。非常に大量の異なるエンコーディングを検出できます。これまで使用していたGitHubにあるC#へのポートもあります。それはかなり信頼できることが判明しました。もちろん、テキストにASCII文字だけが含まれる場合、ASCIIを同じようにエンコードする異なるエンコードを区別することはできません。しかし、ASCIIを別の方法でエンコードするエンコーディングは、このライブラリで正しく検出されるはずです。

関連する問題