ISO编码字节顺序标记(BOM)问询:ISO-8859-1与ISO-8859-2是否存在BOM?
关于ISO-8859-1、ISO-8859-2是否存在对应BOM的解答
直接给出结论:ISO-8859-1、ISO-8859-2以及整个ISO-8859系列编码,都不存在官方定义的标准BOM,原因如下:
- BOM(字节顺序标记)的本质是Unicode码点
U+FEFF以目标编码序列化后得到的字节前缀,设计初衷是解决UTF-16、UTF-32这类多字节编码的大小端字节序歧义问题,后续也有少量场景用它来标识UTF-8编码。 - ISO-8859-1和ISO-8859-2都属于单字节固定长度编码,每个字符固定占用1字节,天然不存在字节顺序混乱的问题,完全不需要BOM来做字节序标识。
- 从编码规则上看,U+FEFF并不在ISO-8859-1、ISO-8859-2的编码覆盖范围内,这两种编码仅支持编码0x00-0xFF区间内的部分字符,无法合法表示U+FEFF,也就不可能生成对应的合法BOM字节序列。
补充提示:如果在标注为ISO-8859-1/2的文件开头发现了类似BOM的字节段,属于不符合编码规范的非法内容,会导致解码出现乱码。
内容的提问来源于stack exchange,提问作者user4964096
相关产品推荐
相关产品推荐

