如何解决UTF16 LE文件中的字符导致Java 8中的读取问题?

时间:2015-02-10 04:53:23

标签: java unicode sed

上下文:Ubuntu 14.04,Java8

file命令报告我的源文件是utf16-le。我可以通过hexdump验证它是否包含BOM。因此,我选择使用StandardCharsets.UTF_16作为Apache的公共参数 - LineIterator问题是,当代码调用时:

lineIterator.next()

在某一特定行上,它会引发异常。

我使用sed -n 788776p filename打印出该行。 hexdumps显示它包含字节\x00\x1a(Unicode U + 001A)以及U + 0019& U + 001C。请注意,sed打印U + 001A的问号和带有U + 0019&的代码点的方框。 U + 001C。从你粗略的一瞥,这是由U + 001A角色引起的吗?或者其他两个?这是由于文件的导出过程导致的损坏,还是我选择编码时的编程问题?

0 个答案:

没有答案