1

顧客から入手した Excel で生成された .csv ファイルがあります。私のソフトウェアは、Javaで開いて解析する必要があります。私はuniversalchardetを使用していますが、ファイルの最初の 1,000 バイトからエンコードを検出しませんでした。

これらの最初の 1,000 バイト内には、として読み取る必要があるシーケンスがありますがBoîte、このファイルを Java で UTF-8 文字列に変換するために使用する正しいエンコーディングが見つかりません。

ファイルでBoîteは、次のようにエンコードされます42,6F,94,74,65(16 進エディターを使用して読み取る)。Botおよびeは、1 文字あたり 1 バイトの標準的なラテン エンコーディングを使用しています。îも 1 バイト 0x94 でエンコードされます。

この文字セットを推測する方法がわかりません。オンラインで検索しても、関連する結果が得られませんでした。

私もfileそのファイルで使用しようとしました:

$ file export.csv
/Users/bicou/Desktop/export.csv: Non-ISO extended-ASCII text, with CR line terminators

ただし、拡張 ASCII 文字セットを調べたところ、値0x94ö.

そのファイルのエンコーディングを推測するための他のアイデアはありますか?

4

1 に答える 1

3

これはMac OS Romanエンコーディングです。次の Java コードを使用すると、テキストが正しくデコードされました。

InputStreamReader isr = new InputStreamReader(new FileInputStream(targetFileName), "MacRoman");

自分の質問を削除する方法がわかりません。もう使い物にならないと思います…

于 2012-06-03T14:23:01.833 に答える