Kodokon kodokon.com

Umlaute, UTF-8 und Zeilenenden

Verstehe, warum Umlaute manchmal verstümmelt erscheinen und was die unsichtbaren Zeilenenden verbergen.

7 Min. · 3 Fragen

Diese Lektion in Kodokon öffnen

Eine Maschine hat keine Ahnung, was der Buchstabe A ist. Sie verarbeitet nur Zahlen. Um Text zu schreiben, musste man sich also auf eine Zuordnungstabelle einigen: Die Zahl 65 steht für A, die 66 für B, und so weiter. Diese Übereinkunft nennt man eine Kodierung. Die älteste, ASCII, stammt aus den 1960er-Jahren und deckte nur das englische Alphabet ab: kein ä, kein ö, kein ß und kein einziges chinesisches Zeichen.

Danach erfand jedes Land seine eigene Tabelle, und das Chaos war da: Eine deutsche Datei, mit der russischen Tabelle geöffnet, ergab Kauderwelsch. Die moderne Lösung heißt Unicode, ein einziger Katalog, der jedem Zeichen aller Sprachen eine Nummer zuweist, Emojis eingeschlossen. Und UTF-8 ist die Standardart, diese Nummern in eine Datei zu schreiben. Heute ist die Regel einfach und kennt keine Ausnahme: Speichere deine Dateien immer als UTF-8.

TEXT
In UTF-8 geschrieben, als UTF-8 gelesen    ->  Grüße aus Köln (Umlaute korrekt)
In UTF-8 geschrieben, als Latin-1 gelesen  ->  Grüße aus Köln
In Latin-1 geschrieben, als UTF-8 gelesen  ->  Gr??e aus K?ln
Dieselbe Datei mit der falschen Tabelle gelesen wird zu Kauderwelsch.

Zweite unsichtbare Sache: das Zeilenende. Wenn du die Eingabetaste drückst, wird keine Linie in die Datei gezeichnet. Stattdessen werden ein oder zwei unsichtbare Zeichen eingefügt, und auch hier haben sich die Systeme nie geeinigt. macOS und Linux benutzen ein einziges Zeichen, LF (line feed, Zeilenvorschub), geschrieben \n. Windows benutzt zwei hintereinander, CRLF (carriage return, also Wagenrücklauf, dann line feed), geschrieben \r\n. Das kommt direkt von der Schreibmaschine, wo zwei getrennte Handgriffe nötig waren: den Wagen zurückschieben, dann eine Zeile weiterrollen.

TEXT
Was du auf dem Bildschirm siehst:

Hallo
Guten Tag

Was die Datei wirklich enthält:

macOS / Linux (LF)     Hallo\nGuten Tag
Windows (CRLF)         Hallo\r\nGuten Tag
Zwei Dateien, die auf dem Bildschirm gleich aussehen, in Wirklichkeit zwei verschiedene Inhalte.

Wissenscheck

Stelle sicher, dass du die wichtigsten Punkte dieser Lektion behalten hast.

  1. Was ist los, wenn ü als ü erscheint?
    • Die Datei wird mit einer anderen Kodierung gelesen, als sie geschrieben wurde
    • Die Datei ist beschädigt und muss neu erstellt werden
    • Der Umlaut wurde vom System entfernt
    • Die Schriftart fehlt
  2. Welches Zeilenende benutzt Windows historisch?
    • CRLF
    • LF
    • CR allein
  3. Welche Einstellungen solltest du in deinem Code-Editor wählen?
    • UTF-8 als Kodierung und LF als Zeilenende
    • ASCII als Kodierung und CRLF als Zeilenende
    • Latin-1 als Kodierung und CR als Zeilenende