window下的utf-8格式是有两种的,一种是带BOM的,一种是不带BOM的,BOM(byte order mark)是为 UTF-16 和 UTF-32 准备的,用于标记字节序(byte order)。微软在 UTF-8 中使用 BOM 是因为这样可以把 UTF-8 和 ASCII 等编码明确区分开,但这样的文件在 Windows 之外的操作系统里会带来问题。
这就引出了我们今天的问题,eclipse下可以智能的将UTF-8+BOM文件转为普通的UTF-8文件,Android Studio还没有这个功能,所以使用Android Studio编译UTF-8+BOM编码的文件时会出现如下图错误:
:
此时,我们可以在外面用文件编辑器如EditPlus转换为utf-8再使用。
<p>版权声明:本文为博主原创文章,未经博主允许不得转载。</p>