Google Docs から CSV をダウンロードしていますが、その中の「\xE2\x80\x9C および 」などの文字は \xE2\x80\x9D として保存されます。
私の質問は...それらが保存されている文字セットは何ですか? どうすればそれを理解できるでしょうか?
Google Docs から CSV をダウンロードしていますが、その中の「\xE2\x80\x9C および 」などの文字は \xE2\x80\x9D として保存されます。
私の質問は...それらが保存されている文字セットは何ですか? どうすればそれを理解できるでしょうか?
これはUTF-8にあります。UTF-8としてデコードすることでわかり、正しい文字が表示されます。
UTF-8にも独自の非常に特徴的なパターンがあり、有効なUTF-8シーケンスを形成する最高ビットセットを備えたわずか3バイトで、99%の信頼度でUTF-8であるかどうかを判断できます。有効なUTF-8シーケンスを形成する最上位ビットが設定された2バイトでも、すでに90%に達する可能性があります。
UTF-8ではなく、代わりに8ビットのコードページである場合、バイトだけを見ただけではわかりません。他の情報がなければ、基本的には、さまざまな8ビットエンコーディングでデコードし、正しく見えるかどうかを確認することで、ブルートフォース攻撃を行う必要があります。もう1つの可能性は、エンコーディングを自動的に実行し、その結果がどの言語でも意味があるかどうかを確認するアルゴリズムを使用することです。
ファイルが保存されたオペレーティングシステムやロケールなどの詳細情報を使用すると、試行する可能性のあるエンコーディングの量を大幅に減らすことができます。