Codifica run-length
Comprime i caratteri ripetuti in coppie numero-carattere e li decodifica di nuovo.
Codifica run-length
La codifica run-length sostituisce i caratteri ripetuti con un numero e il carattere stesso: "aaabcc" diventa "3a1b2c" — tre a, una b, due c. Questo strumento codifica il testo in questo modo, e lo decodifica direttamente, interamente nel tuo browser. È lo stesso principio dietro la compressione fax, la variante RLE di BMP e i semplici formati di asset di gioco: i dati ripetitivi si comprimono molto, e il testo senza ripetizione cambia di dimensione a malapena.
Due opzioni di formato controllano come viene scritta ogni sequenza: numero prima del carattere (3a) o carattere prima del numero (a3). Attivando "comprimere solo sequenze più lunghe di 1", gli eventi singoli rimangono nudi — "aaabcc" diventa "3ab2c" invece di "3a1b2c" — il che legge più vicino a come RLE viene insegnato, al costo di aver bisogno di un separatore per il testo che contiene anche cifre. Un separatore tra le sequenze (una virgola, uno spazio, qualsiasi cosa tu digiti) elimina completamente l'ambiguità, ed è essenziale per la modalità byte. "Elaborare riga per riga" impedisce alle sequenze di attraversare interruzioni di riga, utile quando ogni riga è davvero il suo stesso record.
La modalità byte tratta l'ingresso come byte esadecimali invece di caratteri di testo — incolla hex come "00 00 00 ff" (gli spazi vengono ignorati) e viene raggruppato e compresso byte per byte, che è il modo in cui RLE viene effettivamente utilizzato su dati binari come righe di immagini non compresse. La decodifica rispecchia ogni opzione: scegli lo stesso formato, separatore e impostazione della modalità byte utilizzati per codificare, e il testo o hex originale torna esattamente. Il contatore dal vivo mostra la lunghezza di ingresso e uscita più il rapporto di compressione, così puoi vedere a colpo d'occhio se un determinato ingresso è un buon candidato per la codifica run-length.
Tutto viene eseguito localmente nel tuo browser — nulla di ciò che incolla viene caricato da nessuna parte. Copia il risultato, scaricalo come file .txt, oppure invia l'output direttamente di nuovo nell'ingresso per cambiare direzione e verificare il viaggio di andata e ritorno.