在昨天,帮助同窗把他的Android项目从eclipse迁移到Android Studio上面的时候,编译时,Android Studio报了一个错误,java
***.java Error:(1, 1) 错误: 非法字符: '\ufeff' Error:(1, 10) 错误: 须要class, interface或enum
通过查看,该文件采用的编码方式为UTF-8带BOM的格式,随后,使用NotePad++打开该文件,并将文件格式改成以UTF-8无BOM格式编码(如图1:选择格式第二项)并保存以后问题得以解决。
图1android
BOM:Byte Order Mark.
BOM是用来标记编码的大小端的,对UTF-8编码并无用处。可是由于在Windows中是使用BOM来标记的文件的编码方式的,因此文件在Windows中使用记事本编辑过并保存为了UTF-8以后,文件格式就会变成UTF-8有BOM的编码格式,即在文件的开头有这样的三个字节:EF、BB、BF。在应用中,大多数时候并不支持这种格式,就好比此次遇到的问题,咱们就要将文件从新编辑保存为UTF-8无BOM格式。eclipse