首页 > Java > java教程 > 如何处理 UTF-8 编码文件中的 BOM 标记?

如何处理 UTF-8 编码文件中的 BOM 标记?

Barbara Streisand
发布: 2024-11-19 04:47:02
原创
648 人浏览过

How to Handle BOM Markers in UTF-8 Encoded Files?

UTF-8 编码文件中的 BOM 标记

读取带有 BOM(字节顺序标记)的 UTF-8 编码文件时,可能会无意中包含 BOM 标记在输出字符串中。要解决此问题,请按照以下步骤操作:

FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String tmp = null;
String content = "";

while ((tmp = br.readLine()) != null) {
    String text;
    if (tmp.startsWith("\uFEFF")) {
        // Skipping the BOM marker
        text = tmp.substring(1);
    } else {
        text = tmp;
    }

    content += text + System.getProperty("line.separator");
}
登录后复制

在此更新的代码中:

  • 我们使用 String.startsWith("uFEFF") 来检查当前行是否以BOM 标记。
  • 如果是,我们使用以下方法删除 BOM 标记String.substring(1).
  • 如果没有,我们按原样使用原始行。
  • 然后将修改后的行附加到内容字符串。

通过在将 BOM 标记附加到输出字符串之前将其删除,我们可以防止它出现在最终结果中。

以上是如何处理 UTF-8 编码文件中的 BOM 标记?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板