Moin!
ich habe hier noch zwei Aufgaben, die ich nicht verstehe. Könnte mir mal jemand sagen, wie man die löst?
Ist doch eigentlich recht simpel:
Aufgabe 1)
Kodeposition Auftrittswahrscheinlichkeit
000000 <= x < 000080 40%
000080 <= x < 000800 30%
000800 <= x < 010000 20%
010000 <= x < 110000 10%a) Berechnen Sie die mittlere Anzahl von Bytes pro Zeichen für UTF-8 und UTF-16
Summe über alle Gruppen von (Länge der Codierung * Anteil am Bereich * Auftrittswahrscheinlichkeit)
Die Wahrscheinlichkeitstabelle wird dir vermutlich nicht den Gefallen getan haben, exakt auf UTF-8-Grenzen von 2-, 3- oder 4-Byte-Sequenzen ausgelegt zu sein. Und auch bei UTF-16 ist der Dxxx-Bereich gesondert zu betrachten.
b) Kann es andere Verteilungen als die obige geben, bei denen die mittlere Anzahl vo nBytes pro Zeichen in UTF-16 geringer is als bei UTF-8 ?
Ja klar kann es das. Wenn man mit UTF-16 nur 2-Byte-Sequenzen hat, die mit UTF-8 3 oder mehr Byte erfordern.
Aufgabe 2)
In UTF-8 könnten bei Verwendung von n >= 2 Kodierungseinheiten prinzipiell von der zweiten bis zur n-ten Kodierungseinheit jeweils alle 8 Bits benutzt werden. Welchen Vorteil hat es, trotzdem die obersten beiden Bits fest mit dem Wert zu belegen und nur die unteren 6 Bits zu benutzen?
Mal überlegen... wie gut findet man z.B. Nullbytes in einem String, bzw. welche Sonderfunktion könnten die sonst noch so haben... Und was ist mit Vorwärts-Rückwärts-Lesbarkeit?
- Sven Rautenberg