Die geheimnisvolle Notiz
AFB I–IIIm Ordner der Informatik-AG liegt eine winzige Datei notiz.txt, die als reiner ASCII-Text gespeichert wurde. Ein Hex-Editor zeigt ihren vollständigen Inhalt als sieben Bytes. Im normalen Texteditor sieht man dagegen nur sechs Zeichen, verteilt auf zwei Zeilen.
- Ordnen Sie jedem der sieben Bytes mithilfe der ASCII-Codebereiche sein Zeichen zu und geben Sie den Text an.
- Erläutern Sie, warum die Datei sieben Byte belegt, obwohl im Editor nur sechs Zeichen zu sehen sind.
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
4C = 76 → L; 6F = 111 → o; 73 = 115 → s; 21 = 33 → !; 0A = 10 → Zeilenumbruch; 47 = 71 → G; 4F = 79 → O.
Der Text lautet „Los!“, in der nächsten Zeile „GO“.
Erwartungshorizont zu Aufgabe b)
Das Byte 0A = 10 liegt im Bereich 0–31 der Steuerzeichen. Code 10 stellt nichts dar, sondern beginnt eine neue Zeile.
Trotzdem wird es wie jedes ASCII-Zeichen in einem ganzen Byte gespeichert (7 Bit Inhalt, 1 Byte Platz). Sechs sichtbare Zeichen + ein Steuerzeichen = 7 Byte.
Die Teilnehmerliste des Schüleraustauschs
AFB II–IIIDie Schule organisiert einen Austausch mit Partnerschulen in Polen und Frankreich. Die alte Verwaltungssoftware speichert Namen in Latin-1, also mit genau einem Byte pro Zeichen. Latin-1 enthält viele westeuropäische Sonderzeichen, aber keine polnischen Buchstaben wie Ł.
In UTF-8 belegen ASCII-Zeichen (auch das Leerzeichen) 1 Byte, alle übrigen Buchstaben dieser Liste jeweils 2 Byte. Die Schulleitung überlegt, die Verwaltung auf UTF-8 umzustellen, obwohl die Dateien dadurch etwas größer werden.
- Bestimmen Sie für jeden der vier Namen die Anzahl der Byte in UTF-8.
- Untersuchen Sie, welche Namen die alte Software korrekt speichern kann und was geschieht, wenn eine UTF-8-Datei mit diesen Namen von der alten Software als Latin-1 gelesen wird.
- Diskutieren Sie, ob sich die Umstellung auf UTF-8 lohnt.
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
Hinweis zu Aufgabe c)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
Zoë Müller: 10 Zeichen, davon ë und ü doppelt → 12 Byte.
Łukasz Wójcik: 13 Zeichen, davon Ł und ó doppelt → 15 Byte.
Léa Dubois: 10 Zeichen, davon é doppelt → 11 Byte.
Ben Groß: 8 Zeichen, davon ß doppelt → 9 Byte.
Erwartungshorizont zu Aufgabe b)
Korrekt speicherbar in Latin-1: Zoë Müller, Léa Dubois, Ben Groß. „Łukasz Wójcik“ nicht – für Ł gibt es keinen Platz in der Tabelle, es würde durch ein Ersatzzeichen wie „?“ ersetzt.
Liest die alte Software eine UTF-8-Datei als Latin-1, wird jedes Zwei-Byte-Zeichen als zwei einzelne Zeichen angezeigt: Aus „Müller“ wird z. B. „Müller“. Es entsteht Zeichensalat (Mojibake); ASCII-Zeichen bleiben dagegen korrekt, weil sie in beiden Codierungen gleich sind.
Erwartungshorizont zu Aufgabe c)
Pro UTF-8: alle Namen korrekt, weltweit üblicher Standard, reine ASCII-Dateien bleiben gültig, künftig jede Schrift möglich.
Contra: Dateien werden etwas größer (hier nur 1–2 Byte pro Name), alte Latin-1-Dateien müssen einmal umgewandelt werden, sonst entsteht Zeichensalat; Zeichenzahl und Bytezahl stimmen nicht mehr überein.
Vollständig ist eine Diskussion mit Argumenten beider Seiten und einem begründeten Ergebnis – fachlich naheliegend: umstellen, weil korrekte Namen wichtiger sind als wenige Byte, bei sorgfältiger Umwandlung der alten Daten.
