今天使用AndroidStudio的时候提示非法字符: '\65279' (转换为16进制为0xFEFF),刚开始还真以为是自己打错了字符,检查了很久,查不出来,后来上网一查发现是编码的问题,只要将文件的编码从UTF-8 with BOM改成普通的UTF-8就可以了,用一些常用的编辑器如Sublime Text,NotePad++都可以实现这个操作。
查了一些什么叫做BOM,具体可以参考一下这篇文章http://www.cnblogs.com/findumars/p/3620078.html,简而言之,UTF-8编码最好不要带BOM,带BOM的UTF-8编码是微软的习惯,如果在其它系统(我用的MAC OSX)很可能就会出现问题。据说Eclipse会自动将带BOM的UTF-8文件进行转换,目前Android Studio还没实现这个功能。
思考了一下,我之前在Win7上打开了代码文件并且改了一点东西并提交到Git上,今天在Mac OS上更新了代码,估计就是这样导致了问题。看来在不同的系统上切换还是要注意。