Run-length-codering
Herhaalde tekens in aantal-teken-paren comprimeren en terug decoderen.
Run-length-codering
Run-length-codering vervangt herhaalde tekens door een getal en het teken zelf: "aaabcc" wordt "3a1b2c" — drie a's, één b, twee c's. Dit gereedschap codeert tekst op deze manier en decodeert het onmiddellijk terug, volledig in uw browser. Het is hetzelfde principe achter faxcompressie, de RLE-variant van BMP en eenvoudige game-assetformaten: herhaalde gegevens krimpen veel in, en tekst zonder herhaling verandert nauwelijks van grootte.
Twee formaatopties bepalen hoe elke run wordt geschreven: getal vóór het teken (3a) of teken vóór het getal (a3). Het inschakelen van "Alleen runs langer dan 1 comprimeren" laat enkele exemplaren ongewijzigd — "aaabcc" wordt "3ab2c" in plaats van "3a1b2c" — wat dichter bij de manier ligt waarop RLE wordt onderwezen, maar vereist een scheidingsteken voor tekst die ook cijfers bevat. Een scheidingsteken tussen runs (een komma, een spatie, alles wat u typt) verwijdert die dubbelzinnigheid volledig en is vereist voor byte-modus. "Regel voor regel verwerken" voorkomt dat runs over regelafbrekingen heen gaan, handig wanneer elke regel echt zijn eigen record is.
Byte-modus behandelt de invoer als hex-bytes in plaats van teksttekens — plak hex zoals "00 00 00 ff" (spaties worden genegeerd) en het wordt byte voor byte gegroepeerd en gecomprimeerd, zoals RLE daadwerkelijk wordt gebruikt op binaire gegevens zoals niet-gecomprimeerde beeldrijen. Decodering weerspiegelt elke optie: selecteer dezelfde indeling, hetzelfde scheidingsteken en de byte-modusinstelling die voor codering werden gebruikt, en de originele tekst of hex komt exact terug. De live tally toont invoer- en uitvoerlengte plus de compressieverhouding, zodat u in één oogopslag kunt zien of een bepaalde invoer überhaupt een goed kandidaat voor run-length-codering is.
Alles wordt lokaal in uw browser uitgevoerd — niets wat u plakt, wordt ergens geüpload. Kopieer het resultaat, download het als .txt-bestand of stuur de uitvoer rechtstreeks terug naar de invoer om van richting te veranderen en de retour te verifiëren.