私は別のユーザが作業していたXLSXドキュメントを与えられました。そして、カジュアルインスペクションから、エンコーディングが完全に破棄されたように見えます。 Excel 2011を使用してXLSXファイルを開き、ドキュメントをWindows CSVファイルとして保存したので、スクリプトを実行してエンコードされた内容を把握することができました。しかし、これを行うと、私は自分自身がさらに混乱していることがわかりました。XLSXドキュメントのバースドエンコーディング - これはどのようなエンコーディングですか?
0-127のASCII範囲はすべて正しいと判読可能です。次に、CSVファイル全体を解析するスクリプトを作成し、80
からff
までのバイトを持つ出力セルだけを作成しました。様々な細胞を見て、空白を埋めることによって、私は私が次の変換を発見したと考えている - 彼らはすべて100%正確ではないかもしれない:
e5 ca
=>空白cc 5f
=> AとHölzlestr ジャンブノワ 012のよう
cc a8
=> IにあるOジャンフランソワcc a6
=でBättnercc a4
=>のようなC>cc a9
=> Eとデュプレでcc ac
=> Eとエレーヌにcc b1
=、> Ncc c1
=> Aとcc d9
=> SSムッラーと同様とチャベスムニョスのようまた
エミールのようAuerstraße
cc e4
=> E、接頭cc c4 e5
がデータに複数回現れ、と同じものにマップされているようです。たとえば、cc c4 e5 c1
は、cc c1
と同じ文字(á)にマッピングされます。 これはすべて同じエンコードではないかもしれません。このXLSXドキュメントはオンラインメーリングリストに含まれていたデータに基づいており、メーリングリストのさまざまなデータソースには異なるエンコードがある可能性があります。 ..
EDIT解決策の1つは、これらのフィールドの多くがMacRomanとしてエンコードされたWindows-1252として解釈されるUTF-8であるように見えるということです。私はMacRomanをWindows-1252に戻すことができ、有効なUTF-8バイトシーケンスを取得しました。しかし、これはすべてのケースをカバーしているわけではありません... cc c4 e5
シーケンスを説明していません。上の表のエンコーディングの1つは、オフベースであると推測されています - cc 5f
は逆にするとäに変わりません。しかし、私は実際にはcc 5f
のようないくつかのエンコーディングがあることを発見しました。ここで5f
は非常に多くの来ているというのが私の以前の戦略が解読できなかった2バイト文字列...
4a 65 74 74 cc c4 e5 f8 cc e2 e5 c0 cc e2 e5 5f
48 cc 5f e5 5f e5 5f cc 5f e5 a6 e5 a8 65 72
は...
異なるエンコードの問題があった場合、それらはソースに表示されます。 1つの文書に2つの異なるエンコーディングを持つことはできません。最初にソースを確認してください。 [編集]おそらく、そのファイルの編集されたコピーに公開共有へのリンクを投稿することができます。 – Jeeped
1つのドキュメントに2つの異なるエンコーディングを設定することはできませんが、異なるエンコーディングのデータを持つことができます。ファイルはISO8859-1ですが、1行に誤ってエンコードされ誤ってエンコードされる可能性があります。 .say ... JISデータを他のものにシフトします。 – AlexMax