Hoppa till innehåll
100% lokalt

Run-length-kodning

Komprimera upprepade tecken till antal-tecken-par och avkoda tillbaka.

Inmatning
Utmatning

Run-length-kodning

Run-length-kodning ersätter upprepade tecken med ett tal och själva tecknet: "aaabcc" blir "3a1b2c" — tre a:or, en b, två c:or. Det här verktyget kodar text på detta sätt och avkodar det omedelbar tillbaka, helt i din webbläsare. Det är samma princip bakom faxkomprimering, BMP:s RLE-variant och enkla spelresursformat: upprepade data krymper mycket, och text utan repetition ändrar knappt storlek alls.

Två formatalternativ styr hur varje körning skrivs: antal före tecken (3a) eller tecken före antal (a3). Om du aktiverar "Komprimera endast körningar längre än 1" lämnas enstaka förekomster osedda — "aaabcc" blir "3ab2c" istället för "3a1b2c" — vilket ligger närmare hur RLE undervisas, men kräver en avgränsare för text som också innehåller siffror. En avgränsare mellan körningar (ett komma, ett mellanslag, vad som helst du skriver) eliminerar denna tvetydighet helt och är obligatorisk för byte-läge. "Bearbeta rad för rad" förhindrar att körningar går över radbrytningar, användbart när varje rad verkligen är sin egen post.

Byte-läget behandlar inmatningen som hex-bytes istället för texttecken — klistra in hex som "00 00 00 ff" (mellanslag ignoreras) och det grupperas och komprimeras byte för byte, så som RLE faktiskt används på binära data såsom okomprimerade bildkörningar. Avkodning speglar varje alternativ: välj samma format, avgränsare och byte-lägeinställning som användes för kodning, och den ursprungliga texten eller hex kommer tillbaka exakt. Live-sammanfattningen visar inmatnings- och utmatningslängd plus komprimeringshastighet, så du kan på ett ögonkast se om en given inmatning ens är en bra kandidat för run-length-kodning.

Allt körs lokalt i din webbläsare — ingenting du klistrar in laddas upp någonstans. Kopiera resultatet, hämta det som en .txt-fil eller skicka utmatningen direkt tillbaka till inmatningen för att byta riktning och verifiera tur och retur.

FAQ

Vad betyder 3a1b2c egentligen?
Det betyder tre a:or, en b, då två c:or — run-length-kodningen av "aaabcc". Talet går alltid tillsammans med tecknet som det räknar, i vilken ordning som helst som formatinställningen väljer.
Varför misslyckas avkodning ibland eller producerar fel text?
Avkodning förutsätter att formatet, avgränsaren och byte-lägealternativen matchar vad som användes för kodning. Om den ursprungliga texten innehåller siffertecken och ingen avgränsare användes, kan siffrorna misstolkas som en del av ett tal — lägg till en avgränsare för att undvika det.
När är run-length-kodning egentligen användbar?
På data med långa upprepade körningar — enfärgade bildkörningar, utfyllnadsbyte, upprepade loggvecken — krymper utmatningen mycket. På typisk text växer utmatningen vanligtvis, eftersom de flesta tecken inte upprepas.
Vad är byte-läget för?
Det behandlar inmatningen som hex-kodade byte istället för text, så att du kan koda binära data (klistrad som hex) på samma sätt som bild- och faxformat, byte för byte istället för tecken för tecken.
Laddas min text upp någonstans?
Nej. Kodning och avkodning körs helt i din webbläsare — ingenting du skriver eller klistrar in lämnar din enhet.