UTF-8文件的Bom处理

带Bom的UTF8文件头三个字节:

    (head[0] == -17 && head[1] == -69 && head[2] == -65)

不带Bom:

    (head[0] == 49 && head[1] == 50 && head[2] == 51)

Java读取文件移除Bom方式1:

FileInputStream fis = new FileInputStream(file);
UnicodeReader ur = new UnicodeReader(fis, "utf-8");
BufferedReader br = new BufferedReader(ur);

方式2:

byte[] nbs = new byte[code.bytes.length - 3]
System.arraycopy(code.bytes, 3, nbs, 0, nbs.length)
code = new String(nbs, "UTF-8")

你可能感兴趣的:(Java,UTF8-BOM)