1

JavaHtmlUnitを使用してサンプリングされたデータを扱っています。WebページはWindows-1252エンコーディングを使用しましたが、応答はページがUTF-8としてエンコードされているかのように取得されました(つまり、HtmlUnit WebResponseオブジェクトのgetContentAsStringが呼び出されたときに、サーバーで指定されたエンコーディングを延期するのではなく、UTF-8エンコーディングが指定されました応答)。このプロセスを逆にして、誤ってラベル付けされたUTF-8文字データから元のWindows-1252データを再構築する方法はありますか?

このトピックに関する他のほとんどの質問は、ファイルのタイプを識別すること、または最初に正しくエンコードされた文字を1つのストリームタイプから別のストリームタイプに変換することに関するものです。ここではそうではありません。iconvなどのユーティリティは、ストリームが最初からソースエンコーディングで正しく永続化されていることを期待しているため、機能するとは思われません。

4

1 に答える 1

4

おそらくそうではありません。Windows-1252でエンコードされたテキストがUTF-8と間違われると、UTF-8がそれらのコードポイントを処理する方法が原因で、すべての非ASCIIコードポイントが破損します。あなたが非常に幸運であり、すべての非ASCIIコードポイントがペアまたはトリプレットで提供され、偶然に実際のUnicodeコードポイントに変換される場合にのみ、プロセスを逆にすることができます。

しかし、あなたはほとんど運が悪いです。

于 2011-12-23T08:43:13.300 に答える