AndroidStudio非法字符: '\ufeff'解決
一. 問題解決辦法
在昨天,幫助同學把他的Android項目從eclipse遷移到Android Studio上面的時候,編譯時,Android Studio報了一個錯誤,
***.java
Error:(1, 1) 錯誤: 非法字符: '\ufeff'
Error:(1, 10) 錯誤: 需要class, interface或enum
經過查看,該文件采用的編碼方式為UTF-8帶BOM的格式,隨后,使用NotePad++打開該文件,並將文件格式改為以UTF-8無BOM格式編碼(如圖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格式。