概述
为了正确显示汉字(2字节汉字和4字节汉字)
eclipse 能设置编码的地方真多
1 window/preferences/general/workspace/Text file encoding
2 window/preferences/general/content types
3 project/property/resource/text file encoding
4 edit/set encoding
5 file/properties/resource/text file encoding
设置eclipse 使用UTF-8的方法:
1中,选择UTF-8
2 中,在右侧content types里,选text/java source type,在default encoding 中,填入utf-8,然后update
以后新建的.java文件都是UTF-8编码
但是,这种文件开头是没有BOM的。
所以选择UTF8,若是unicode-little-endian或unicode-big-endian 在需要BOM的软件中会有乱码。
unicode-big-endian(或unicode-little-endian)
如果先用 记事本 保存为unicode big endian,则文件开头有BOM:FE FF,也可以用eclipse 打开,set encoding 要选择UTF-16,而不能选UTF-16BE或UTF-16LE,否则运行会有错误。
UTF-16BE或UTF-16LE 是为没有BOM的文件准备的,如eclipse 自己保存的unicode big endian/unicode little endian 文件。
BOM —— Byte Order Mark,“字节顺序标记”
在UCS 编码中有一个叫做 "Zero Width No-Break Space" ,中文译名作“零宽无间断间隔”的字符,它的编码是 FEFF。而 FFFE 在 UCS 中是不存在的字符,所以不应该出现在实际传输中。UCS 规范建议我们在传输字节流前,先传输字符 "Zero Width No-Break Space"。这样如果接收者收到 FEFF,就表明这个字节流是 Big-Endian 的;如果收到FFFE,就表明这个字节流是 Little- Endian 的。因此字符 "Zero Width No-Break Space" (“零宽无间断间隔”)又被称作 BOM。
UTF-8 不需要 BOM 来表明字节顺序,但可以用 BOM 来表明编码方式。字符 "Zero Width No-Break Space" 的 UTF-8 编码是 EF BB BF。所以如果接收者收到以 EF BB BF 开头的字节流,就知道这是 UTF-8编码了。Windows 就是使用 BOM 来标记文本文件的编码方式的。
最后
以上就是从容小丸子为你收集整理的eclipse 编码设置之BOM丢失的全部内容,希望文章能够帮你解决eclipse 编码设置之BOM丢失所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复