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是自己遇到的,但是解决方法是在网上查看别人写的方法。

你可能感兴趣的:(AndroidStudio非法字符: '\ufeff'解决)