Ir para o conteúdo
Totalmente local

Codificação de comprimento de execução

Comprima caracteres repetidos em pares contagem-caractere e descodifique-os de novo.

Entrada

Codificação de comprimento de execução

A codificação de comprimento de execução substitui caracteres repetidos por uma contagem e o caractere em si: "aaabcc" torna-se "3a1b2c" — três a's, um b, dois c's. Esta ferramenta codifica texto dessa maneira e descodifica-o novamente, inteiramente no seu navegador. É o mesmo princípio por trás da compressão de fax, da variante RLE do BMP e de formatos simples de recursos de jogo: dados repetitivos diminuem bastante, e texto sem repetição mal muda de tamanho.

Duas opções de formato controlam como cada sequência é escrita: contagem antes do caractere (3a) ou caractere antes da contagem (a3). Ativar "comprimir apenas sequências com mais de 1 caractere" deixa as ocorrências únicas sem codificar — "aaabcc" torna-se "3ab2c" em vez de "3a1b2c" — o que se lê mais perto de como RLE é ensinado, mas requer um separador se o texto também contiver dígitos. Um separador entre sequências (uma vírgula, um espaço, o que digitar) remove essa ambiguidade inteiramente e é essencial no modo bytes. "Processar linha por linha" evita que sequências atravessem quebras de linha, útil quando cada linha é realmente seu próprio registo.

O modo bytes trata a entrada como bytes hexadecimais em vez de caracteres de texto — cole hex como "00 00 00 ff" (espaços ignorados) e é agrupado e comprimido byte por byte, que é como RLE é realmente usado em dados binários, como linhas de imagem não comprimidas. Descodificar reflete cada opção: escolha o mesmo formato, separador e modo bytes usados para codificar, e o texto ou hex original volta exatamente igual. O contador em tempo real mostra o comprimento da entrada e saída mais a taxa de compressão, para ver num relance se uma entrada é uma boa candidata a compressão de comprimento de execução.

Tudo funciona localmente no seu navegador — nada do que cola é enviado para qualquer sítio. Copie o resultado, descarregue-o como ficheiro .txt, ou envie a saída diretamente para a entrada para mudar de direcção e verificar a operação completa.

FAQ

O que significa 3a1b2c?
Significa três a's, um b, depois dois c's — a codificação de comprimento de execução de "aaabcc". A contagem vem sempre com o caractere que conta, em qualquer ordem que a opção de formato escolher.
Porque é que a descodificação às vezes falha ou produz texto errado?
A descodificação assume que o formato, separador e opções de modo bytes correspondem aos usados para codificar. Se o texto original contém caracteres dígitos e nenhum separador foi usado, os dígitos podem ser mal interpretados como parte de uma contagem — adicione um separador para evitar isso.
Quando é que a codificação de comprimento de execução é realmente útil?
Em dados com sequências repetidas longas — linhas de imagem com cor sólida, bytes de enchimento, caracteres de registo repetidos — reduz muito a saída. Em prosa típica geralmente aumenta a saída, já que a maioria dos caracteres não se repete.
Para que serve o modo bytes?
Trata a entrada como bytes codificados em hexadecimal em vez de texto, para que possa codificar dados binários (colados como hex) da maneira que formatos de imagem e fax fazem, byte por byte em vez de caractere por caractere.
O meu texto é enviado para algures?
Não. Codificar e descodificar funcionam inteiramente no seu navegador — nada do que digita ou cola abandona o seu dispositivo.