BOM
Die BOM (Byte-Order-Mark) ist das Unicode-Zeichen U+FEFF, das an den Anfang eines Textstroms gesetzt wird, um Kodierungsform und Byte-Reihenfolge anzuzeigen.
Zweck
Zeigt die Big- oder Little-Endian-Byte-Reihenfolge in UTF-16/UTF-32 an und dient in UTF-8 als Kodierungssignatur (obwohl UTF-8 keine Byte-Reihenfolge-Ambiguität hat).
Mechanismus
U+FEFF wird je nach Kodierungsform in Bytes übersetzt: EF BB BF in UTF-8, FF FE in UTF-16LE und FE FF in UTF-16BE. Ein Decoder liest die ersten Bytes und gleicht sie mit bekannten BOMs ab, um die Kodierung zu bestimmen. U+FEFF selbst ist ein breitenloses geschütztes Leerzeichen, weshalb es zusätzlich als Signatur dienen kann.
Anwendungsfälle
- Automatische Kodierungserkennung von Textdateien
- Plattformübergreifender Textaustausch
- Kodierungsmarker für CSV/TSV-Dateien
- Kodierung von Datenbank-Exportdateien
Beispiele
- Eingabe
UTF-8 BOMOutputEF BB BFThe first three bytes of a file
Häufige Fehler
- A UTF-8 BOM being rejected by a JSON parser (RFC 8259 forbids it)
- Do not use a BOM in JSON files
Verwandte Begriffe
UTF-8
UTF-8 ist Unicodes Form mit variabler Länge, die 1 bis 4 Bytes pro Codepunkt verwendet; sie ist vollständig abwärtskompatibel zu ASCII und der De-facto-Standard des Webs und moderner Systeme. GLOSSAR
UTF-16
UTF-16 ist Unicodes Form mit variabler Länge, die 2 oder 4 Bytes pro Codepunkt verwendet: BMP-Zeichen belegen eine 16-Bit-Codeeinheit, Zeichen der ergänzenden Ebenen ein Ersatzpaar (2 Einheiten). GLOSSAR
Endianness
Endianness ist die Byte-Reihenfolge von Mehrbyte-Werten im Speicher: Big-Endian speichert das höchstwertige Byte zuerst, Little-Endian das niederwertigste. GLOSSAR
Byte Order Mark
Das Byte-Order-Mark (BOM) ist das Zeichen U+FEFF am Anfang eines Unicode-Textes, das Kodierungsform und Byte-Reihenfolge anzeigt. GLOSSAR
Unicode
Unicode ist der internationale Zeichenkodierungsstandard, der fast jedem Zeichen der Schriftsysteme der Welt einen eindeutigen Codepunkt (U+0000 bis U+10FFFF) zuweist, mit einem Coderaum von 1.114.112 Punkten. GLOSSAR
Verwandte Tools
Encoding-Detektor
Prüft die Textkodierung: ASCII-Teilmenge, UTF-8-BOM und Nicht-ASCII-Zeichen. Texteingaben werden immer als UTF-8 neu kodiert, daher können Legacy-Kodierungen (GBK/Big5/Shift-JIS) nicht unterschieden werden. Kostenlos, privat, 100% clientseitig. WERKZEUG
Zeichensatz-Referenz
Reference table of character encodings. Kostenlos, privat, 100% clientseitig. WERKZEUG
BOM zu Datei hinzufügen
UTF-8-BOM zum Dateiinhalt hinzufügen. WERKZEUG
BOM aus Datei entfernen
UTF-8-BOM aus Dateiinhalt entfernen. WERKZEUG