Zusammenfassung
- Net-Unicode nach RFC 5198 verbindet UTF-8 mit NFC, dem versionsabhängigen Zuweisungsstatus, CRLF und Regeln für Steuerzeichen. Ein erfolgreicher Decoder belegt nur den ersten Schritt.
- Betriebssystem- und Sprachbibliotheken können ihre Unicode-Tabellen ohne Anwendungsänderung austauschen. Reproduzierbarkeit verlangt deshalb die tatsächlichen Laufzeitdaten und die konkreten Ein- und Ausgangsbelege.
Der fehlende Eintrag im Änderungsnachweis
Ein Artefakt-Hash ist präzise, aber nicht allwissend. RFC 5198 beschreibt, dass Anwendungen Unicode-Konvertierung und Normalisierung meist an Betriebssystem- oder Sprachfunktionen delegieren. Diese Funktionen können sich ändern, ohne dass sich der Anwendungscode ändert. Die Anwendung kennt womöglich weder die Unicode-Version noch die Version des Normalisierungsverfahrens und kann ihre Konsistenz nicht garantieren.
Die Aussage ist enger als allgemeine Instabilität. Eine bereits NFC-normalisierte Zeichenfolge ohne unzugewiesene Punkte bleibt nach der zugrunde gelegten Stabilitätsgarantie auch in späteren Versionen NFC. Beweglich ist der Rand des Repertoires. Ein unzugewiesener Punkt normalisiert zunächst auf sich selbst; nach späterer Zuweisung kann er an einer Abbildung teilnehmen. Ein konformer Sender darf ihn nicht übertragen, solange er in seiner abhängigen Unicode-Version unzugewiesen ist.
Damit kann eine neue Systembibliothek die Zulassungsmenge verändern, obwohl der Produkt-Build identisch ist. gleicher Commit ist kein Beleg für gleiche Textentscheidung.
Mehr als gültiges UTF-8
RFC 3629 definiert die Kodierung. RFC 5198 ergänzt ein Netzwerktextprofil. Zeilen enden, sofern das Protokoll Zeilen kennt, ausschließlich mit CRLF. CR NUL ist nur ein missliebiger Altfall; NUL kann Programmiersprachen als Stringende dienen. C1-Steuerzeichen sind verboten. IND, NEL, U+2028 und U+2029 ersetzen CRLF nicht. Ein BOM am Anfang ist unzulässig.
Vor dem Senden sollen Folgen NFC-normalisiert werden. Unzugewiesene Punkte sind verboten, und Unicode- sowie NFC-Version müssen zusammenpassen. Dekodierung, Repertoireprüfung, Normalisierung, Zeilenregel und Anwendungsentscheidung benötigen getrennte Ergebnisse.
Auch die Errata haben Zustände. Der technische Hinweis 7531 ist nur Reported und korrigiert die falsche Einordnung von U+0080–U+009F als ASCII-Bereich; das ausdrückliche C1-Verbot bleibt bestehen. Das verifizierte Erratum 1402 korrigiert lediglich einen Verweis. Ein Implementierer darf diese Autoritätsstufen nicht stillschweigend vermischen.
Zwei Kontrollpunkte, zwei Textzustände
RFC 5198 warnt davor, Eingangsdaten als bereits normalisiert anzunehmen. Nicht normalisierte Formen können naive Textsuche in Firewalls umgehen. Nutzt das Gateway andere Tabellen als die Anwendung, ist ein Allow-Ereignis kein Beleg dafür, dass beide dieselbe Folge verglichen haben.
Die Reihenfolge gehört zum Beleg: Normalisierung vor Signaturprüfung ist nicht die Prüfung der empfangenen Oktette mit anschließender Normalisierung. Zeilenumbruch-Konvertierung verändert Offsets; BOM-Entfernung ist eine Transformation. Für Protokolle mit eigener präziser UTF-8-Regel gilt deren Profil. Der Nachweis muss benennen, welches tatsächlich angewandt wurde.
Ein ausführbarer Beleg
Neben Anwendungsfassung und Hash gehören Basisimage, Sprachlaufzeit, Unicode Character Database, NFC-Implementierung und Datensatzversion in den Datensatz. Nicht exponierte Versionen werden als unbekannt markiert.
Pro Nachricht verbindet der Beleg den Oktett-Hash mit UTF-8-Ergebnis, Codepunkten und Zuweisungsurteil. BOM, Private Use, C0, C1, CR, LF, CR NUL, U+2028 und U+2029 bleiben eigene Felder. Hashes vor und nach NFC zeigen, ob geprüft oder transformiert wurde.
Vergleich, Filterung, Signatur oder Speicherung werden schließlich von Autorität und beobachteter Wirkung getrennt. Net-Unicode beweist weder Identität noch Berechtigung. Es kann aber beweisen, welcher Textvertrag unter einem scheinbar unveränderten Release lief.
Quellen
- RFC 5198 HTML
- RFC 5198 Text
- RFC-5198-Informationsseite
- IETF Datatracker: RFC 5198
- RFC-5198-Historie
- RFC-5198-Referenzen
- RFC-5198-Errata
- RFC 3629 — UTF-8
- RFC 2277 — Zeichensätze und Sprachen
- RFC 4690 — internationalisierte Namen
- RFC 3454 — Stringprep
- RFC 8264 — PRECIS
- RFC 6365 — Internationalisierungsterminologie
- RFC 854 — Telnet
- RFC 698 — Extended ASCII
- Unicode Standard Annex #15
- Unicode-Stabilitätsrichtlinie
- Heng Lu — Realitätsebenen und symbolische Macht
- Heng Lu — minimale Anfangsspezifikation
- Heng Lu — Vorrang von Running Code
Mitgliederbriefing
Detaillierter Profilkontext
Melden Sie sich mit der richtigen Mitgliedschaftsstufe an, um das vollständige Briefing und die Quellennotizen freizuschalten.
Nur für Strategic Circle
Strategic Circle
Offen für alle Leser. Schalten Sie Profil-Briefings nach Beitritt und Anmeldung frei.
Strategic Circle beitretenNur für Leadership Alliance
Leadership Alliance
Für qualifizierte Inhaber von IP-Assets und Management; melden Sie sich an, um Leadership-Alliance-Briefings freizuschalten.
Leadership Alliance beitreten
