top of page
Bücherregal als Symbolbild für den Blogbeitrag.

Blog

Was ist ein BOM?

BOM steht für 'Byte Order Mark' und kennzeichnet das Encoding einer Textdatei, indem eine bestimmte Zeichenfolge zu Beginn der Datei als Marker abgespeichert ist.


Ein BOM kennzeichnet das Encoding einer Textdatei.

Wozu wird ein BOM benötigt?

Damit der Inhalt einer Textdatei und deren Sonderzeichen richtig dargestellt werden kann, muss das korrekte Encoding (Zeichensatz) für den jeweiligen Inhalt bekannt sein. UTF8 ist zum Beispiel ein weitverbreitetes Encoding.


Nur anhand vom Inhalt kann das Encoding nicht 100%-sicher bestimmt werden. Auch die Dateiendung wie .TXT oder .CSV sagt nichts direkt über das Encoding aus, denn die Dateiendungen werden für das Definieren der Datenstruktur genutzt. Deshalb musste eine andere Lösung gefunden werden, wie das Encoding eines Inhalts gekennzeichnet werden kann:


Man legt vor dem eigentlichen Textinhalt eine bestimmte Folge von definierten Zeichen als Kennzeichnung ab.



Wie ist ein BOM aufgebaut?

Ein BOM ist eine definierte Zeichenkette (Bytesequenz), welche zu Beginn der Datei mitgespeichert wird, um das Encoding festzulegen.


Beispiel: So hätte man man definieren können, dass alle Dateien mit UTF8 mit einem grossen "U" beginnen sollen. Hiermit würde eine Textdatei mit dem Inhalt "Hallo" wie folgt aussehen: "UHallo". Wenn aber der Benutzer nun eine Texdatei mit dem Inhalt "Unser Haus" speichert, würde dies fälschlicherweise mit UFT8 interpretiert werden, da dies ebenfalls mit "U" beginnt. Um solche Konflikte zu vermeiden, werden für einen BOM weniger gängige Sonderzeichen in einer bestimmten Abfolge verwendet.


Für UTF ist ein BOM mit folgenden 3 Zeichen definiert: 


Diese 3 Bytes entsprechen den Dezimalwerten 239, 187 und 191. Für andere Encodings sind andere Bytesequenzen (Zeichenketten) festgelegt. Ein guter Editor kennt diese Kombinationen und öffnet die Daten jeweils anhand von diesem BOM im richtigen Encoding .


Ein guter Texteditor berücksichtigt den BOM

Für den Benutzer wird der BOM verborgen, indem beim Einlesen diese Bytesequenz nach der Erkennung vom Encoding übersprungen und nur der eigentliche Inhalt im Editor dargestellt wird. Beim Speichern wird wiederum die passende Bytesequenz als BOM vom Editor automatisch vorangehängt.

Bei einem älteren oder schlechten Editor würdest du hingegen jeweils zu Beginn vom Inhalt die magischen Zeichen wie "" vom BOM antreffen. In dem Fall rate ich dir zu einem zeitgemässen Editor zu wechseln.


Selbstverständlich erkennt smasi CSV-Wizard Dateien mit einem BOM, so dass du dir keine Gedanken darüber machen musst.


 

Weitere Informationen


Aktuelle Beiträge

bottom of page