Diskussion:UTF-8

aus Wikipedia, der freien Enzyklopädie
Zum Archiv

Längencodierung

Warum wird hinter der Längencodierung 0 (ASCII)/11-1111(Start)/10 (Folgebyte) immer eine 0 angehängt? also 110 - 11110 (Start).

Hier werden ja im Grunde unnötigerweise Bits verschwendet oder ist es aus Gründen der Eindeutigkeit nötig? Sieht auf den ersten Blick so aus, als ob auch das Weglassen eines 0-Bits nichts an der Eindeutigkeit ändert. --94.134.251.62 16:29, 28. Sep. 2020 (CEST)

Es ist aus Gründen der eindeutigen Dekodierbarkeit notwendig. Wenn eine Multibytesequenz mit dem Byte F8hex anfängt (Binär: 11111000), wie willst du sonst wissen, wie viele Bits das "Präfix" sind, und was bereits zu den kodierten Datenbits gehört, wenn da kein Nullbit die beiden Bereiche trennt? --RokerHRO (Diskussion) 09:33, 18. Dez. 2020 (CET)

7-Bit-ASCII ist gleichzeitig UTF-8 und hochgradig kompatibel zu bisherigen 8-Bit-Zeichensätzen - Satz falsch?

Entweder ist der Satz nicht deutsch oder ich verstehe ihn nicht... Im ersten Fall ist er zu korrigieren, im zweiten Fall nicht. Wie kann ein 7-Bit Zeichensatz gleichzeitig UTF-8 sein?

7-Bit-ASCII ist zu UTF-8 und zu bisherigen 8-Bit-Zeichensätzen hochgradig kompatibel (Das müßte so stimmen, da UTF-8 ja kein 8-Bit-Zeichensatz ist, da ja auch mehrere Bytes ein Zeichen darstellen können)

Und da es eigentlich um die Eigenschaften von UTF-8 geht: UTF-8 ist zu 7-Bit-ASCII und zu bisherigen 8-Bit-Zeichensätzen hochgradig kompatibel

--JackPilot (Diskussion) 10:09, 25. Feb. 2021 (CET)

Das Problem liegt wohl darin, dass eine Aussage "X ist kompatibel zu Y" verschieden interpretiert werden kann:
1.) X ist ein Subset von Y. Daten, die im Format X vorliegen, können von Programmen, die Format Y erwarten, gelesen werden.
2.) X ist ein Superset von Y, aber wenn ein Text nur die Zeichen abbildet, die in Y enthalten sind, werden sie so abgespeichert, dass Programme, die nur Y verstehen, damit klakommen.
In unserem konkreten Fall also:
1. ASCII ist ein Subset von UTF-8. Reine ASCII-Daten werden von Programmen, die UTF-8 erwarten, problemlos verarbeitet.
2. UTF-8 ist ein Superset von ASCII. Ein UTF-8-Text, der nur ASCII-Zeichen enthält, kodiert sie so, dass auch Programme, die ASCII-Text erwarten, ihn verarbeiten können.
--RokerHRO (Diskussion) 23:38, 25. Feb. 2021 (CET)

Deine Erklärung verstehe ich :-)

ASCII --> UTF-8 funktioniert

UTF-8 (Nur ASCII) --> ASCII funktioniert

UTF-8 (Non ASCII) --> ASCII Fehler

--JackPilot (Diskussion) 09:57, 26. Feb. 2021 (CET)

Nichtsdestotrotz ist der Satz schwer verständlich. Und weiter oben ist es ja schon besser erklärt: UTF-8 ist in den ersten 128 Zeichen ... deckungsgleich mit ASCII. Ich nehme den Satz mal raus weil zu unklar. -- Gerd Fahrenhorst (Diskussion) 14:56, 26. Feb. 2021 (CET)