Byte order mark
Byte order mark
The byte-order mark (BOM) is a particular usage of the special Unicode character code, U+FEFF ZERO WIDTH NO-BREAK SPACE, whose appearance as a magic number#Magicnumbersinfiles) at the start of a text stream can signal several things to a program reading the text:
Byte order mark
• the byte order, or endianness, of the text stream in the cases of 16-bit and 32-bit encodings; • the fact that the text stream's encoding is Unicode, to a high level of confidence; • which Unicode character encoding is used.
Byte order mark
BOM use is optional. Its presence interferes with the use of UTF-8 by software that does not expect non-ASCII bytes at the start of a file but that could otherwise handle the text stream.