使用 Java 删除 BOM 表字符

2022-09-02 02:11:00

使用Java的字符串需要发生什么才能等同于svi

:set nobomb

假设它来自我正在读取的文件。BOM


答案 1

Java 无法正确处理 BOM。事实上,Java像处理其他字符一样处理BOM。

找到这个:

http://www.rgagnon.com/javadetails/java-handle-utf8-file-with-bom.html

public static final String UTF8_BOM = "\uFEFF";

private static String removeUTF8BOM(String s) {
    if (s.startsWith(UTF8_BOM)) {
        s = s.substring(1);
    }
    return s;
}

也许我会使用apache IO代替:

http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/input/BOMInputStream.html


答案 2

对于 UTF-8,BOM 表为:0xEF、0xBB 0xBF


推荐