UTF-8文件的Bom处理

本文详细介绍了如何判断及去除UTF-8编码文件中的BOM(字节顺序标记),并提供了两种Java实现方法。一种是通过UnicodeReader读取文件,另一种则是直接操作字节数组来移除BOM。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

带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")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值