我从客户处获得了Excel生成的.csv文件。我的软件必须在java中打开并解析它。我使用universalchardet但它没有检测到文件的前1,000个字节的编码。
在这1,000个第一个字节中,有一个序列应该被读作Boîte
,但我找不到用于将此文件转换为java中的UTF-8字符串的正确编码。
在文件中,Boîte
编码为42,6F,94,74,65
(使用十六进制编辑器读取)。 B
,o
,t
和e
使用标准拉丁编码,每个字符1个字节。 î
也只在一个字节0x94上编码。
我不知道如何猜测这个字符集,我的在线搜索都没有产生相关结果。
我还尝试在该文件中使用file
:
$ file export.csv
/Users/bicou/Desktop/export.csv: Non-ISO extended-ASCII text, with CR line terminators
但是,我查看了扩展ASCII字符集,值0x94
代表ö
。
您是否有其他想法来猜测该文件的编码?
答案 0 :(得分:3)
这是Mac OS Roman编码。使用以下java代码时,文本已正确解码:
InputStreamReader isr = new InputStreamReader(new FileInputStream(targetFileName), "MacRoman");
我不知道如何删除我自己的问题。我认为它不再有用......