我正在我的程序中读取一个文本文件,其中包含一些 Unicode BOM 字符 \ufeff
/65279
。这在进一步解析中提出了几个问题。
现在我正在自己检测和过滤这些字符,但想知道 Java 标准库或 Guava 是否有办法更干净地执行此操作。
最佳答案
在 Java 或 Guava 中没有处理 (UTF-8) BOM 的内置方法。
当前有关于 Guava website 的错误报告关于在 Guava IO 中处理 BOM。
有几篇 SO 帖子(here 和 here)介绍了如何在使用纯 Java 读取文件时检测/跳过 BOM。
您的 BOM (\ufeff
) 似乎是 UTF-16根据同一份 Guava 报告,应该 由 Java 自动处理。 This所以帖子似乎暗示相同。
关于java - 处理文本文件中 Unicode BOM 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15985889/