Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
faecher:informatik:oberstufe:codierung:lzw:start [28.09.2022 18:13] – sbel | faecher:informatik:oberstufe:codierung:lzw:start [28.09.2022 18:15] – sbel | ||
---|---|---|---|
Zeile 11: | Zeile 11: | ||
</ | </ | ||
+ | Um Platz für das Wörterbuch neben den normalen (ASCII-)Zeichen zu schaffen, reichen | ||
+ | 8 Bit nicht aus. Für gewöhnlich werden 12 Bit für jedes Zeichen bzw. jeden | ||
+ | Wörterbucheintrag verwendet. Das Wörterbuch kann also maximal 2< | ||
+ | Zeichenkombinationen beinhalten, wovon die ersten 256 Einträge bei Texten fest mit den ASCII-Zeichen | ||
+ | vorbelegt sind. | ||
+ | |||
+ | <WRAP center round important 90%> | ||
+ | Die Codierung verläuft nach folgendem **Algorithmus**: | ||
+ | 1. Lies eine möglichst lange Zeichenkette ein, die bereits im Wörterbuch steht. Zu Beginn ist das jeweils nur ein einzelnes Zeichen! | ||
+ | 2. Schreibe den 12-Bit-Code des gefundenen Eintrags in die Ausgabe. | ||
+ | 3. Lege aus der eben gefundenen Zeichenkette und dem nachfolgenden Zeichen einen neuen Wörterbucheintrag mit der nächst möglichen Codierung an. | ||
+ | 4. Wenn nötig wird das letzte Byte der Ausgabe mit 0 aufgefüllt | ||
+ | </ | ||