Unicode BOM 和 FileReader
读取带有字节顺序标记 (BOM) 的 UTF-8 编码文件时,您可能会遇到以下问题BOM 标记与文件内容一起输出。发生这种情况是因为 Unicode 定义了 BOM 来指定编码文本的字节顺序,如果处理不当,它可能会被解释为字符序列。
在您的代码片段中:
为了避免 BOM 标记包含在输出中:
String content = new String(Files.readAllBytes(Paths.get(file)), "UTF-8"));
if (tmp.length >= 3 && tmp[0] == (byte) 0xEF && tmp[1] == (byte) 0xBB && tmp[2] == (byte) 0xBF) { // Remove the BOM marker tmp = Arrays.copyOfRange(tmp, 3, tmp.length); }
以上是如何避免读取UTF-8编码文件时输出BOM标记?的详细内容。更多信息请关注PHP中文网其他相关文章!