Sven Rautenberg: Unicode Aufgaben. Wer hat die Lösung?

Beitrag lesen

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