windows java读取utf-8编码文件时出现第一个字符为未知字符"?" 的解决方案

在Windows中使用Java读取UTF-8编码的文本文件时,首字符可能出现未知字符"?"。这通常由BOM(Byte Order Mark)引起。BOM是Unicode字符集用于标记编码方式的标志。解决办法包括使用特定的类去除BOM或在读取文件时忽略BOM。个人处理方式可能包括直接处理文件内容,但可能会导致其他乱码问题。
摘要由CSDN通过智能技术生成

个人作为笔记记录在csdn上,暂时也没有对其进行深入了解,只做出处理方案。

在windows 环境下,使用java文件流读取文本文件时,会出现第一个字符为未知字符"?" ,其他字符完整。而且第一个字符显示为?但是用equals比对发现并非是"?"号,google之,了解到bom编码标记。使用 16进制打印输出结果:

只要出现该头的16进制编码为这种字符便可以断定该文本文件的编码方式了。

bom编码标记:

bom全称是:byte order mark,汉语意思是标记字节顺序码。只是出现在:unicode字符集中,只有unicode字符集,存储时候,要求指定编码,如果不指定,windows还会用默认的:ANSI读取。常见的bom头是:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值