Zum Hauptinhalt springen

12. Änderungen gegenüber RFC 2279

Dieser Abschnitt dokumentiert die Änderungen, die RFC 3629 gegenüber der vorherigen Spezifikation in RFC 2279 einführt.

Einschränkung des Zeichenbereichs

Der Zeichenbereich wurde auf 0000-10FFFF beschränkt (den für UTF-16 zugänglichen Bereich).

Dies ist eine wesentliche Änderung, die UTF-8 auf den von Unicode definierten Zeichenraum begrenzt und die zuvor zulässigen, aber unpraktischen Bereiche jenseits von U+10FFFF ausschließt.

Wechsel der normativen Quelle

Unicode ist nun die Quelle der normativen Definition von UTF-8, während ISO/IEC 10646 die Referenz für die Zeichen bleibt.

Diese Änderung erkennt Unicode als maßgebliche Hauptquelle für die UTF-8-Kodierungsregeln an, während ISO/IEC 10646 weiterhin als Referenz für das Zeichenrepertoire dient.

Terminologische Klarstellung

Die Terminologie wurde überarbeitet. UTF-8 wird nun als Kodierungsform der Zeichennummer beschrieben. UCS-2 und UCS-4 sind nahezu verschwunden.

Die aktualisierte Terminologie liefert klarere und konsistentere Beschreibungen von UTF-8 als Kodierungsform statt als Transformationsformat.

Umgang mit ungültigen Sequenzen

Der Hinweis, der vor dem Dekodieren ungültiger Sequenzen warnte, wurde zu einem normativen MUST NOT.

Zuvor war die Warnung vor ungültigen Sequenzen informativ. In RFC 3629 ist sie zu einer normativen Anforderung geworden: Implementierungen MUST NOT ungültige Sequenzen dekodieren.

Neuer Abschnitt zum BOM

Ein neuer Abschnitt über das UTF-8-BOM wurde hinzugefügt, mit Empfehlungen für Protokolle.

Abschnitt 6 enthält umfassende Hinweise zu:

  • Wann das BOM verwendet oder verboten werden sollte
  • Wie das BOM in verschiedenen Protokollkontexten zu behandeln ist
  • Empfehlungen für Protokollentwickler

Änderung der MIME-Registrierung

Die vorgeschlagene Registrierung des MIME-Zeichensatzes UNICODE-1-1-UTF-8 wurde entfernt.

Die versionsspezifische Zeichensatzkennung wurde zugunsten der generischen Kennung „UTF-8“ entfernt, die alle Unicode-Versionen nach Amendment 5 abdeckt.

Ergänzung der ABNF-Syntax

Eine ABNF-Syntax für gültige UTF-8-Oktettfolgen wurde hinzugefügt.

Abschnitt 4 enthält nun eine formale ABNF-Grammatik, die gültige UTF-8-Bytefolgen präzise definiert und Implementierern die Validierung von UTF-8-Daten erleichtert.

Erweiterung des Sicherheitsabschnitts

Der Abschnitt Sicherheitsüberlegungen wurde erweitert, insbesondere hinsichtlich der Auswirkungen der Unicode-Normalisierung.

Der Sicherheitsabschnitt wurde deutlich ausgebaut und umfasst nun:

  • Eine ausführliche Erörterung von Angriffen über überlange Kodierungen
  • Risiken von Pufferüberläufen
  • Sicherheitsrelevante Auswirkungen der kanonischen Äquivalenz
  • Verweise auf die Unicode-Normalisierungsformen