Zum Inhalt springen
100% lokal

Run-length-Codierung

Wiederholte Zeichen in Zahl-Zeichen-Paare komprimieren und wieder decodieren.

Eingabe
Ausgabe

Run-length-Codierung

Run-length-Codierung ersetzt wiederholte Zeichen durch eine Zahl und das Zeichen selbst: "aaabcc" wird zu "3a1b2c" — drei a's, ein b, zwei c's. Dieses Tool codiert Text auf diese Weise und decodiert ihn sofort wieder, vollständig in Ihrem Browser. Es ist das gleiche Prinzip hinter Fax-Kompression, der RLE-Variante von BMP und einfachen Spiel-Asset-Formaten: Wiederholte Daten schrumpfen stark, und Text ohne Wiederholung ändert kaum an Größe.

Zwei Formatoptionen steuern, wie jeder Lauf geschrieben wird: Zahl vor dem Zeichen (3a) oder Zeichen vor der Zahl (a3). Das Aktivieren von "Nur Läufe länger als 1 komprimieren" lässt einzelne Vorkommen unverändert — "aaabcc" wird zu "3ab2c" statt "3a1b2c" — was näher daran liegt, wie RLE gelehrt wird, erfordert aber einen Trennzeichen für Text, der auch Ziffern enthält. Ein Trennzeichen zwischen Läufen (ein Komma, ein Leerzeichen, alles, das Sie eingeben) beseitigt diese Mehrdeutigkeit vollständig und ist notwendig für den Byte-Modus. "Zeilenweise verarbeiten" verhindert, dass Läufe über Zeilenumbrüche hinweg gehen, nützlich, wenn jede Zeile wirklich ein eigener Datensatz ist.

Der Byte-Modus behandelt die Eingabe als Hex-Bytes statt Textzeichen — fügen Sie Hex wie "00 00 00 ff" ein (Leerzeichen werden ignoriert) und es wird Byte für Byte gruppiert und komprimiert, so wie RLE tatsächlich bei Binärdaten wie unkomprimierten Bildzeilen verwendet wird. Das Decodieren spiegelt jede Option wider: Wählen Sie das gleiche Format, Trennzeichen und Byte-Modus-Einstellung, die zum Codieren verwendet wurden, und der ursprüngliche Text oder Hex kommt genau zurück. Die Live-Statistik zeigt Eingabe- und Ausgabelänge plus das Kompressionsverhältnis, so dass Sie auf einen Blick sehen können, ob eine bestimmte Eingabe überhaupt ein guter Kandidat für Run-length-Codierung ist.

Alles läuft lokal in Ihrem Browser — nichts, das Sie einfügen, wird irgendwo hochgeladen. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter, oder senden Sie die Ausgabe direkt zurück in die Eingabe, um die Richtung zu wechseln und den Hin- und Rücktransport zu überprüfen.

Häufige Fragen

Was bedeutet 3a1b2c eigentlich?
Es bedeutet drei a's, ein b, dann zwei c's — die Run-length-Codierung von "aaabcc". Die Zahl kommt immer mit dem Zeichen, das sie zählt, in welcher Reihenfolge auch immer die Formatoption wählt.
Warum schlägt das Decodieren manchmal fehl oder erzeugt den falschen Text?
Das Decodieren setzt voraus, dass das Format, das Trennzeichen und die Byte-Modus-Optionen mit denen übereinstimmen, die zum Codieren verwendet wurden. Wenn der ursprüngliche Text Ziffernzeichen enthält und kein Trennzeichen verwendet wurde, können die Ziffern als Teil einer Zahl missverstanden werden — fügen Sie ein Trennzeichen hinzu, um das zu vermeiden.
Wann ist Run-length-Codierung wirklich nützlich?
Bei Daten mit langen wiederholten Läufen — einfarbige Bildzeilen, Padding-Bytes, wiederholte Log-Zeichen — schrumpft die Ausgabe viel. Bei typischem Text nimmt die Ausgabe normalerweise zu, da sich die meisten Zeichen nicht wiederholen.
Wofür ist der Byte-Modus?
Er behandelt die Eingabe als hex-kodierte Bytes statt Text, so dass Sie Binärdaten (eingefügt als Hex) auf die gleiche Weise wie Image- und Fax-Formate codieren können, Byte für Byte statt Zeichen für Zeichen.
Wird mein Text irgendwo hochgeladen?
Nein. Codierung und Decodierung laufen vollständig in Ihrem Browser — nichts, das Sie eingeben oder einfügen, verlässt Ihr Gerät.