Glossar

Byte Order Mark (BOM)

Als Byte Order Mark (kurz: BOM; deutsch Bytereihenfolge-Markierung) wird das Unicode-Zeichen U+FEFF (englisch: "zero width no-break space") am Anfang eines Datenstroms bezeichnet. Es wird vor allem als Kennung zur Definition der Byte-Reihenfolge und Kodierungsform in UCS/Unicode-Zeichenketten, insbesondere Textdateien, verwendet.

Bei einer UTF-8-Kodierung besteht das BOM aus der Bytesequenz EF BB BF, die in nicht UTF-8-fähigen Texteditoren und Browsern meist als ISO-8859-1-Zeichen  erscheinen. Bei UTF-8 stellt sich das Problem der Byte-Reihenfolge zwar nicht, doch ist ein BOM am String- oder Dateianfang erlaubt, um die Kodierung zu kennzeichnen. Eine sichere Unterscheidung zwischen UTF-8 und den ISO-8859-Zeichensätzen kann dadurch aber leider nicht gewährleistet werden.

Auch in einem PHP-Interpreter mit Standardeinstellungen führt die Nutzung eines BOM zur Ausgabe von Zeichen an den Browser, so dass ohne "output buffering" keine HTTP-Header mehr geändert werden können.

Zurück zum Glossar