Sări la conținut
Complet local

Codare de lungime de secvență

Comprimați caracterele repetate în perechi număr-caracter și decodificați-le înapoi.

Intrare
Ieșire

Codare de lungime de secvență

Codarea de lungime de secvență înlocuiește caracterele repetate cu o numărare și caracterul în sine: "aaabcc" devine "3a1b2c" — trei a-uri, un b, doi c-uri. Acest instrument codifică textul în acest mod și îl decodifică înapoi, integral în browserul dvs. Este același principiu din spatele compresiei fax, variantei RLE a BMP și formatelor simple de resurse pentru jocuri: datele repetitive se micșorează mult, iar textul fără repetare aproape că nu se schimbă deloc.

Două opțiuni de format controlează modul în care fiecare secvență este scrisă: numărul înainte de caracter (3a) sau caracterul înainte de numărul (a3). Activarea "comprima doar secvențele mai lungi de 1" lasă apariția unică necodificată — "aaabcc" devine "3ab2c" în loc de "3a1b2c" — ceea ce se citește mai aproape de cum se predă RLE, cu costul de a necesita un separator dacă textul conține și cifre. Un separator între secvențe (virgulă, spațiu, orice scrieți) elimină complet acea ambiguitate și este obligatoriu în modul octeți. "Procesează linie după linie" împiedică secvențele să traverseze întreruperile de linie, util atunci când fiecare linie este într-adevăr propriul ei înregistrare.

Modul octeți tratează intrarea ca octeți hexazecimali în loc de caractere text — lipiți hex cum ar fi "00 00 00 ff" (spațiile sunt ignorate) și este grupat și comprimat octet cu octet, ceea ce este modul în care RLE este de fapt folosit pe date binare, cum ar fi rândurile de imagine necomprimate. Decodificarea reflectă fiecare opțiune: alegeți același format, separator și setare mod octeți folosite pentru codificare, iar textul sau hex-ul original se întoarce exact la fel. Numărătoarea live arată lungimea intrării și ieșirii plus raportul de compresie, deci puteți vedea dintr-o privire dacă o intrare dată este un bun candidat pentru compresie de lungime de secvență.

Tot funcționează local în browserul dvs. — nimic din ceea ce lipești nu este trimis nicăieri. Copiați rezultatul, descărcați-l ca fișier .txt, sau trimiteti ieșirea direct în intrare pentru a schimba direcția și a verifica călătoria dus-întors.

FAQ

Ce înseamnă de fapt 3a1b2c?
Înseamnă trei a-uri, un b, apoi doi c-uri — codarea de lungime de secvență a "aaabcc". Numărul vine întotdeauna cu caracterul pe care îl numără, în oricare ordine alege opțiunea de format.
De ce descodificarea uneori eșuează sau produce text greșit?
Decodificarea presupune că formatul, separatorul și opțiunile modului octeți se potrivesc cu cele folosite pentru codificare. Dacă textul original conține caractere cu cifre și nu a fost folosit niciun separator, cifrele pot fi citite greșit ca parte a unui număr — adăugați un separator pentru a evita acest lucru.
Când este codarea de lungime de secvență de fapt utilă?
Pe date cu secvențe lungi repetate — rânduri de imagine cu culoare solidă, octeți de umplere, caractere de jurnal repetate — se micșorează mult ieșirea. Pe proza tipică, de obicei crește ieșirea, deoarece majoritatea caracterelor nu se repetă.
Pentru ce este modul octeți?
Tratează intrarea ca octeți codificați în hexazecimal în loc de text, deci puteți codifica date binare (lipite ca hex) în modul în care o fac formatele de imagine și fax, octet cu octet în loc de caracter cu caracter.
Textul meu este încărcat undeva?
Nu. Codificarea și decodificarea rulează integral în browserul dvs. — nimic din ceea ce tastați sau lipiți nu pleacă niciodată de pe dispozitivul dvs.