4

我正在我的程序中读取一个文本文件,其中包含一些 Unicode BOM 字符\ufeff/ 65279。这在进一步解析中提出了几个问题。

现在我自己检测和过滤这些字符,但想知道 Java 标准库或 Guava 是否有办法更干净地做到这一点。

4

1 回答 1

10

在 Java 中,甚至在 Guava 中,没有内置的方式来处理 (UTF-8) BOM。

目前Guava 网站上有一个关于在 Guava IO 中处理 BOM 的错误报告。

有几个 SO 帖子(这里这里)关于如何在纯 Java 中读取文件时检测/跳过 BOM。

您的 BOM ( \ufeff) 似乎是UTF-16,根据同一份 Guava 报告,它应该由 Java 自动处理。这篇SO 帖子似乎暗示了相同的内容。

于 2013-04-13T09:37:07.403 回答