3 Punkte von GN⁺ 2026-02-04 | Noch keine Kommentare. | Auf WhatsApp teilen
  • Kürzlich verbreiteten sich auf Twitter Zitate aus alten E-Mails, wodurch die Frage aufkam, warum am Satzende Gleichheitszeichen (=) erscheinen
  • Diese Zeichen entstehen im Zuge der „quoted-printable“-Kodierung und dienen dazu, beim erzwungenen Umbrechen langer Zeilen anzuzeigen, dass die Zeile fortgesetzt wird
  • Beim E-Mail-Transport wird CRLF (Carriage Return + Line Feed) als Zeilenumbruch verwendet; wird dies in Unix-NL umgewandelt, können bei fehlerhaft arbeitenden Dekodieralgorithmen Gleichheitszeichen zurückbleiben oder Zeichen verloren gehen
  • Das Gleichheitszeichen wird außer für Zeilenumbrüche auch zur Darstellung von Nicht-ASCII-Zeichen (z. B. =C2=A0) verwendet; fehlerhafte Decoder ersetzen dies nur simpel und verursachen so Fehler
  • Die Ursache des Problems liegt in fehlerhafter Dekodierlogik und ungeeigneter Konvertierungsbehandlung, was zeigt, dass die Person, die die E-Mails verarbeitet hat, technisch nicht besonders versiert war

Die Bedeutung der Gleichheitszeichen (=) in E-Mail-Zitaten

  • In den letzten Tagen wurden auf Twitter zahlreiche alte E-Mail-Zitate geteilt, bei denen die Gleichheitszeichen am Satzende auffielen

    • Der Autor widerspricht Behauptungen, dies sei ein Code- oder OCR-Fehler (optische Zeichenerkennung)
    • Tatsächlich handelt es sich um einen Fehler bei der Kodierungsverarbeitung, der beim Umwandeln in ein besser lesbares Format entstanden ist
  • E-Mails waren früher einfacher Text, doch zur Verarbeitung langer Zeilen und von Sonderzeichen wurde die „quoted-printable“-Kodierung eingeführt

    • Beim Aufteilen langer Zeilen wird am Zeilenende ein Gleichheitszeichen (=) angehängt, um zu markieren: „Diese Zeile wird fortgesetzt“
    • Auf das Gleichheitszeichen folgt dabei CRLF (Carriage Return + Line Feed)

Fehler bei Zeilenumbruch-Kodierung und -Dekodierung

  • E-Mail-Server verwenden standardmäßig CRLF als Zeilenumbruch, Unix-Systeme dagegen nur NL

    • Bei der Umwandlung geht ein Byte verloren; verarbeitet der Decoder dies falsch, bleiben Gleichheitszeichen stehen oder Zeichen verschwinden
    • Beispiel: Wenn „non- =CRLF cloven“ falsch verarbeitet wird, kann daraus „non- loven“ werden, wobei das „c“ verschwindet
  • Manche Implementierungen verarbeiten ein Gleichheitszeichen am Zeilenende, indem sie einfach zwei Zeichen löschen

    • Dieser Algorithmus funktioniert bei Dateien im Unix-Format fehlerhaft, sodass Gleichheitszeichen unverändert stehen bleiben

Ein weiterer Zweck des Gleichheitszeichens: Nicht-ASCII-Zeichen kodieren

  • Das Gleichheitszeichen wird nicht nur für Zeilenumbrüche, sondern auch zur Kodierung von Nicht-ASCII-Zeichen verwendet

    • Beispiel: =C2=A0 steht für ein geschütztes Leerzeichen (non-breaking space)
    • In E-Mail-Texten taucht dies häufig bei Einrückungen oder zur Darstellung von Sonderzeichen auf
  • Der Autor vermutet, dass einige Konvertierungsprogramme =C2, =A0 usw. nur per einfacher Suche-und-Ersetzen-Logik verarbeitet haben, anstatt einen korrekten Decoder zu verwenden

Technischer Hintergrund und Standard

  • Der Standard RFC 2045 definiert die quoted-printable-Kodierung als Transportformat

    • Nach dem Empfang sollte sie dekodiert und als sauberer Text gespeichert werden
    • In realen Implementierungen wird dieser Schritt jedoch oft ausgelassen, wodurch Fehler bei der Zeilenumbruch-Behandlung häufig auftreten
  • Im Beispielcode wird (quoted-printable-decode-string "he=\nllo") korrekt zu "hello" rekonstruiert

    • Der Grund ist die Wiederverwendung eines Algorithmus, der im Kontext von SMTP-Servern von CRLF ausgeht
    • Bei Windows-basierten Dateien funktioniert das korrekt, bei Unix-basierten hingegen nicht

Fazit

  • Die Gleichheitszeichen in E-Mail-Zitaten sind Überreste der quoted-printable-Kodierung und das Ergebnis einer Kombination aus
    fehlerhafter Zeilenumbruch-Behandlung und mangelhafter Dekodierung von Nicht-ASCII-Zeichen
  • Die eigentliche Ursache des Problems sind ungenaue Decoder-Implementierungen und Fehler bei der Kodierungskonvertierung
  • Der Autor fasst dies als „technisches Problem und Ergebnis fehlerhafter Verarbeitung“ zusammen und betont, wie wichtig eine präzise Einhaltung der Standards bei der E-Mail-Konvertierung ist

Noch keine Kommentare.

Noch keine Kommentare.