我是靠谱客的博主 从容小丸子,最近开发中收集的这篇文章主要介绍eclipse 编码设置之BOM丢失,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

为了正确显示汉字(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丢失所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部