1

我从客户那里得到了一个由 Excel 生成的 .csv 文件。我的软件必须在 java 中打开并解析它。我正在使用universalchardet,但它没有从文件的前1,000 个字节中检测到编码。

在这 1,000 个第一个字节中,有一个序列应该被读取为Boîte,但是我找不到用于在 java 中将此文件转换为 UTF-8 字符串的正确编码。

在文件中,Boîte编码为42,6F,94,74,65(使用十六进制编辑器读取)。B, o,te使用标准拉丁编码,每个字符 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 罗马编码。使用以下 java 代码时,文本已正确解码:

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

我不知道如何删除我自己的问题。我觉得没啥用了。。。

于 2012-06-03T14:23:01.833 回答