BOM全称是Byte Order Mark,文件开头的特殊标记,用于指示文件编码。UTF-8编码文件开头以EF BB BF
这三个字节作为BOM头,可以给应用程序明确指示为UTF-8编码,而不需要考虑任何ANSI编码或其他编码的可能。
- 但要注意,这仅仅是一种某些情况下的规范,并非全世界都需要遵循的标准,即不是所有的UTF-8文件都需要BOM头,有些不带BOM头的依然存在。
- 当然,BOM概念更多是Unicode编码产生的,UTF-8,UTF-16LE, UTF-16BE,UTF32-LE, UTF32-BE作为Unicode世界重要的编码格式,才使用BOM概念,其他编码一般没有BOM概念。
UTF-8 EF BB BF
UTF-16LE FF FE
UTF-16BE FE FF
UTF-32LE FF FE 00 00
UTF-32BE 00 00 FE FF