我从我的客户那里得到了一个由Excel生成的.csv文件。我的软件必须用java打开并解析它。我使用的是universalchardet,但它没有检测到文件的前1,000个字节的编码。
在这1000个第一个字节中,有一个序列应该读取为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代表ö。
你有其他的想法来猜测这个文件的编码吗?
发布于 2012-06-03 22:23:02
这是Mac OS Roman编码。当使用以下java代码时,文本被正确解码:
InputStreamReader isr = new InputStreamReader(new FileInputStream(targetFileName), "MacRoman");我不知道如何删除我自己的问题。我认为它不再有用了.
https://stackoverflow.com/questions/10871045
复制相似问题