Kleines Nachschlagewerk Informatik
Lauflängen-Kodierung
Worum geht es?
Wenn bestimmte Werte in einem Text oder einem Bild häufig vorkommen, lohnt deren Zusammenfassung. Man schreibt nicht alle Werte nacheinander, sondern die Anzahl und den Wert und hofft, so Speicher zu sparen.
Die einfachste Variante
Möchte man nur zwei verschiedene Werte speichern (z.B. in einem Schwarz-Weiß-Bild), reichen nur die Anzahlen.

111000010111110001100000111 soll gespeichert werden. Da 1 und 0 abwechselnd vor kommen, kann man 341153253 schreiben.

Startet das System mit einer 0 statt einer 1, schreibt man am Anfang eine 0 und meint damit kein Mal die 0.

Speichert man die Mengen in Bytes und möchte 260 Einsen speichern, kodiert man 255 0 5 und meint 255 Mal die 1, dann keine 0 und noch fünf Einsen.
Anzahl und Wert
Kommen verschiedene Werte vor, muss man immer zwei Dinge speichern: Anzahl und Wert.

Der Text AAAEEBAACCCC würde dann folgendermaßen kodiert werden: 3 A 2 E 1 B 2 A 4 C

Man sieht, dass diese Variante bei häufigem Wechsel des Wertes keinerlei Einsparung bringt.
Mit Steuerzeichen
Um den im vorherigen Teil beschriebenen Nachteil zu beheben, kann man mit Steuerzeichen arbeiten. Als Steuerzeichen wählt man ein seltenes Zeichen, z.B. Q bei Texten.

Bei bis zu dreimaliger Wiederholung speichert man die Zeichen einfach ab. Ab vier Wiederholungen lohnt ein Packen, welches mit dem Steuerzeichen eingeleitet wird. Man schreibt Steuerzeichen (Q), Anzahl und Wert.

AAABBAAAAACCDDDDD wird kodiert nach AAABBQ5ACCQ5D.

Nunkann es aber passieren, dass das Steuerzeichen selbst als normales Zeichen auftritt. Dann legt man fest, dass dieses immer mit Steuerzeiche kodiert wird.

AQB wird kodiert nach AQ1QB.