Android studio中出现非法字符时的部分解决方法
2015-12-18 12:40
543 查看
我将原来在Eclipse中开发的工程搬到了Android studio上来,在运行,编译程序的过程中出现了错误。提示存在非法字符。
后来发现是由于程序代码中有中文字符的出现,问题就出在对中文支持的UTF-8编码上。
utf-8编码分为BOM和非BOM两种格式。有bom头的存储或者字节流,它一定是unicode字符集编码。究竟属于那一种utf-8还是utf-16还是utf-32)可以通过BOM头来进行判断。在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码。UTF-8的BOM是 EFBBBF,因为UE载入UTF-8文件会转成Utf16,上述的EFBBBF 在Utf16中是FFFE(Unicode-LE的BOM)。
在Eclipse中,出现有BOM的编码格式的字符它可以自动转换成非BOM格式的文档,不用进行手动的更改。但是Android studio并不支持BOM格式的编码的向非BOM格式的自动识别和转换,所以就出现了上述的问题。
简答的解决办法就是讲出现编码错误提示的文档转化为非BOM格式编码的文档就可以了。在这里我们可以借助一个简单的编辑工具notepad++(notepad++同样不能自动转换BOM和非BOM格式的文档)来进行转换。
找打出现编码错误的文件用notepad++打开然后打开“格式”选择“以UTF-8无BOM格式编码”之后回到Android studio就可以解决问题了。
后来发现是由于程序代码中有中文字符的出现,问题就出在对中文支持的UTF-8编码上。
utf-8编码分为BOM和非BOM两种格式。有bom头的存储或者字节流,它一定是unicode字符集编码。究竟属于那一种utf-8还是utf-16还是utf-32)可以通过BOM头来进行判断。在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码。UTF-8的BOM是 EFBBBF,因为UE载入UTF-8文件会转成Utf16,上述的EFBBBF 在Utf16中是FFFE(Unicode-LE的BOM)。
在Eclipse中,出现有BOM的编码格式的字符它可以自动转换成非BOM格式的文档,不用进行手动的更改。但是Android studio并不支持BOM格式的编码的向非BOM格式的自动识别和转换,所以就出现了上述的问题。
简答的解决办法就是讲出现编码错误提示的文档转化为非BOM格式编码的文档就可以了。在这里我们可以借助一个简单的编辑工具notepad++(notepad++同样不能自动转换BOM和非BOM格式的文档)来进行转换。
找打出现编码错误的文件用notepad++打开然后打开“格式”选择“以UTF-8无BOM格式编码”之后回到Android studio就可以解决问题了。
相关文章推荐
- Android系统布局——自带的布局android.R.layout详解
- android之getDimension、getDimensionPixelSize、getDimensionPixelOffset区别
- Android笔记(2)---帧布局实现霓虹灯效果
- Android学习笔记——自定义CircleProgressBarView
- Android
- Android GreenDao使用详解
- 不会内存溢出的Android Handler写法
- 《Android群英传》读书笔记(6)第六章:Android绘图机制与处理技巧之二
- Android Dialog
- 使用Android Studio时你应该知道的
- Android手机如何录制屏幕及转GIF
- Android软键盘及输入法顶起TabBar的解决方法
- Android桌面组件播放器
- Android Studio的基本设置和常用快捷键(Mac 版)
- TweenAnimation 渐变动画
- Android之ListView和ScrollView事件冲突
- Android layout_weight 属性解密
- 直接拿来用!最火的Android开源项目(完结篇)
- 直接拿来用!最火的Android开源项目(二)
- Where can i download Android & iOS source code of TI BLE Multitool