Zum Inhalt springen
uencoder

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 file
    Output
    FF 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

Verwandte Tools

References