Byte Order Mark
Das Byte-Order-Mark (BOM) ist das Zeichen U+FEFF am Anfang eines Unicode-Textes, das Kodierungsform und Byte-Reihenfolge anzeigt.
Zweck
Ermöglicht einem Decoder, Textkodierung und Byte-Reihenfolge ohne externe Metadaten automatisch zu erkennen.
Mechanismus
Jede Kodierung erzeugt eine andere BOM-Bytefolge: 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. Ein Decoder liest die ersten 2-4 Bytes und gleicht sie ab.
Anwendungsfälle
- Kodierungserkennung in Texteditoren
- Textdatei-Austausch zwischen Systemen
- Kodierungsidentifikation bei Datenbankimporten
- CSV-Dateiverarbeitung in Excel
Beispiele
- Eingabe
UTF-16LE fileOutputFF FE ...Leading bytes FF FE indicate little-endian UTF-16
Häufige Fehler
- Mistaking a UTF-8 BOM for data content
- Detect and strip the BOM when reading
Verwandte Begriffe
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. 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
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
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
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