我知道BOM用于UTF-8文件,但是如果每个字符都是2字节的文本文件呢,我也应该为它们添加字节顺序标记吗?
答案 0 :(得分:5)
BOM是为UCS-2和UTF-16发明的,后来才被微软(然后是XML)用于UTF-8。想想这个名字:'字节顺序标记'。 UTF-8只有一个可能的字节顺序,因此它不需要BOM来显示顺序。相反,UTF-8中U + FEFF的三字节序列成为文件类型嗅探的Unicode签名。
然而,尽管在XML标准中包含了UTF-8 BOM,但早期版本的Java支持对UTF-8 BOM没有很好的响应。此外,带有BOM的文件不能简单地连接到另一个文件,因为U + FEFF不是文件中间的BOM;这是ZWNBSP。