Ohne Breite und unsichtbar
ZERO WIDTH NO-BREAK SPACE (U+FEFF)
Das Byte Order Mark. Ganz am Anfang einer Datei kündigt es die Kodierung an; überall sonst ist es ein unsichtbares, umbruchverbietendes Nichts, von dem Unicode seit Version 3.2 abrät.
- Codepoint
U+FEFF- Kategorie
- Ohne Breite und unsichtbar
- Standardmäßig entfernt
- Ja
- Zuständige Option
- Keine Option nötig
- Kann tragend sein
- Nein
Woher es kommt
Windows-Editoren, Excel-Exporte und alles, was „UTF-8 mit BOM“ schreibt. Hängt man mehrere solcher Dateien aneinander, steht mitten im Ergebnis ein BOM. Auch beim Kopieren aus einer Tabellenzelle kommt oft eines mit.
Warum es zählt
Ein BOM am Anfang bringt JSON-Parser, YAML-Kopfdaten, Shebang-Zeilen und CSV-Kopfzeilen zu Fall; ein BOM mitten im Text ist schlicht ein unsichtbares Zeichen, an dem jeder exakte Vergleich scheitert. Es ist auch der Grund, warum eine Konfigurationsdatei „völlig in Ordnung aussieht“ und trotzdem nicht lädt.
Vorher und nachher
Das unsichtbare erste Zeichen ist der Grund, warum `JSON.parse` diese Zeichenkette ablehnt.
Das Zeichen wird als beschriftete Marke dargestellt, damit du siehst, wo es sitzt. In deinem Text zeichnet es überhaupt nichts.
Wann es berechtigt ist
Als allererstes Zeichen einer Datei, als Kodierungssignatur – und das ist eine Eigenschaft der DATEI, nicht des Textes. Sobald der Text in einem Eingabefeld liegt, gibt es kein berechtigtes BOM mehr.
So entfernst du es
Die Voreinstellung entfernt es, egal wo es steht. Ghostchars arbeitet auf Text, also behandelt es auch das führende BOM als Text.
Ist das ein KI-Wasserzeichen?
Kein Wasserzeichen
Nein. Ein BOM ist ein Kodierungsartefakt aus Editoren und Export-Pipelines. Es sagt etwas über das Programm aus, das die Datei gespeichert hat, und nichts darüber, wer die Wörter geschrieben hat.
Keine Verbindung zu maschinell erzeugtem Text. Es kommt aus einer Software, von einer Tastatur oder von einem Menschen.
Fragen
Warum lässt sich mein JSON nicht parsen?
Ein führendes BOM ist ein Zeichen vor der öffnenden Klammer. Die meisten JSON-Parser lehnen es als unerwartetes Token ab, und die Fehlermeldung zeigt auf Position 0, wo nichts zu sehen ist.
Ist das dasselbe wie ein Wortverbinder?
Mitten im Text verhalten sich beide gleich. Unicode rät von U+FEFF in dieser Rolle ab und hat U+2060 WORD JOINER zum richtigen Zeichen erklärt; U+FEFF ist seither nur noch das Byte Order Mark.
Muss ich es jemals behalten?
Nur wenn ein nachgelagertes Werkzeug auf einer Datei mit BOM besteht – und dann fügst du es beim Schreiben der Datei hinzu, statt es im Text mit dir herumzutragen.
Prüf deinen eigenen Text
Füg irgendetwas in den Textreiniger ein und sieh jedes unsichtbare Zeichen darin – mit Position, Codepoint und dem, was mit jedem einzelnen passiert. Nichts wird hochgeladen.