AndroidStudio非法字符: '\ufeff'解决

一. 问题解决办法

自己工程项目之前运行一直是可以的,有时候突然间可能出现这样的bug,解决方式如下

***.java
Error:(1, 1) 错误: 非法字符: '\ufeff'
Error:(1, 10) 错误: 需要class, interface或enum

经过查看,该文件采用的编码方式为UTF-8带BOM的格式,随后,使用NotePad++打开该文件,并将文件格式改为以UTF-8无BOM格式编码(如图1:选择格式第二项)并保存之后问题得以解决。


图1

图1

二. UTF-8与UTF-8无BOM

BOM:Byte Order Mark.
BOM是用来标记编码的大小端的,对UTF-8编码并没有用处。但是因为在Windows中是使用BOM来标记的文件的编码方式的,所以文件在Windows中使用记事本编辑过并保存为了UTF-8之后,文件格式就会变成UTF-8有BOM的编码格式,即在文件的开头有这样的三个字节:EF、BB、BF。在应用中,大多数时候并不支持这种格式,就比如这次遇到的问题,我们就要将文件重新编辑保存为UTF-8无BOM格式。

注:这个bug是自己遇到的,但是解决方法是在网上查看别人写的方法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容