Simulador de compressão de dados online
Explora códigos Huffman, compara bits UTF-8 e carga útil e copia os resultados. Demonstração educativa sem ficheiro comprimido.
Começar a usar
O significado dos resultados
O simulador conta pontos de código Unicode e constrói uma árvore Huffman binária juntando os dois nós menos frequentes. Um único símbolo distinto recebe o código 0. Uma entrada exatamente igual produz aqui os mesmos códigos. Outra regra de desempate pode produzir códigos válidos diferentes; compara o comprimento ponderado da carga útil.
Exemplos verificáveis
ABBC produz B=0, A=10 e C=11: 2×1 + 1×2 + 1×2 = 6 bits de carga útil, contra 32 bits UTF-8. AAAA produz 32 e 4 bits; 你好 produz 48 e 2 bits; os caracteres reais 😀😀 produzem 64 e 2 bits.
Entrada e apresentação
O limite é de 100.000 unidades de código UTF-16 de JavaScript, não bytes UTF-8 nem caracteres visíveis. Muitos emojis usam duas unidades; uma sequência visível pode conter vários pontos de código. O texto vazio é rejeitado, mas os espaços em branco são dados válidos. JSON mostra uma mudança de linha como \n, uma tabulação como \t e um espaço normal entre aspas, " ". A notação não altera o símbolo introduzido.
Limites da demonstração
Os bits originais são o comprimento UTF-8 em bytes multiplicado por oito. A carga útil soma a frequência de cada símbolo multiplicada pelo comprimento do seu código. Exclui tabela de códigos, árvore, cabeçalhos, preenchimento e contentor: não é uma dimensão de ficheiro comprimido nem uma poupança garantida. Não gera arquivos, binários comprimidos descarregáveis ou descompressor, nem é encriptação. O cálculo decorre no navegador; muitos símbolos distintos podem gerar uma tabela longa.
O processamento é feito localmente no navegador.