What is a BOM?
For UTF-16 and UTF-32 the byte ordering has to be known (in fact we should refer to UTF-16LE, UTF-16BE, UTF-32LE, UTF-32BE to take into account the endianness of the encoding). In order to avoid incorrect interpretation of these encodings a Byte Order Mark (BOM) may be put at the beginning of documents: it consists in a sequence of bytes that identifies both the encoding (UTF-16 or UTF-32) and the byte ordering used (Little Endian or Big Endian).
Although UTF-8 does not require any byte ordering information, a dedicated BOM can be used with this encoding: its primary purpose is to differentiate UTF-8 from other byte-oriented encodings. If not interpreted this marker takes the form of the 3-characters sequence "" (in ISO-8859-1 or CP1252): a document starting with this sequence must be read with an UTF-8 enabled software.