Simulador de codificación Huffman en línea
Ingrese texto y vea cómo la codificación Huffman asigna códigos binarios. Compare bits UTF-8 originales con el payload. Ejemplo: ABBC → 32 bits originales, 6…
Empezar a usar
Simulación educativa de compresión Huffman
Esta herramienta no comprime archivos ni genera un archivo comprimido. Es un simulador que muestra cómo la codificación Huffman asigna códigos de longitud variable a los caracteres de un texto pegado.
Ejemplo concreto
Si ingresa el texto ABBC, el resultado indica que el texto original ocupa 32 bits en UTF-8 y el payload Huffman ocupa 6 bits. La lista de códigos muestra cada carácter con su código binario, por ejemplo A: 0, B: 10, C: 11 (los códigos pueden variar si hay empates en frecuencia).
Parámetros y procesamiento
El cálculo usa la codificación UTF-8 para medir los bits originales (longitud en bytes × 8). La frecuencia de cada carácter (punto de código Unicode) construye un árbol binario de Huffman. El payload es la suma de frecuencia × longitud del código, sin incluir el codebook, encabezados ni relleno. Por lo tanto, no representa un tamaño de archivo real y no garantiza una tasa de compresión práctica, especialmente en textos cortos.
Limitaciones importantes
- El texto vacío no se procesa.
- El límite es de 100.000 unidades de código UTF-16 (no bytes ni caracteres percibidos). Muchos emoji ocupan dos unidades.
- Los espacios, saltos de línea y marcas combinables son caracteres distintos.
- La salida usa notación JSON para caracteres especiales (por ejemplo, para salto de línea).
- El procesamiento ocurre en su navegador; no es cifrado.
Preguntas frecuentes
¿Por qué el resultado muestra códigos diferentes para el mismo texto?
Cuando hay empates en las frecuencias, el árbol Huffman puede construirse de distintas maneras, por lo que los códigos asignados pueden variar. Lo relevante es la longitud ponderada total, que es la que se compara.
¿Qué significa la notación JSON en la lista de caracteres?
La lista muestra cada carácter en notación JSON para que sea visible. Por ejemplo, un salto de línea se muestra como \n en lugar de un salto real. Esto es solo representación; el carácter original es el que se usa para la frecuencia.
¿Puedo usar este simulador para comprimir un archivo real?
No. El simulador solo calcula el payload teórico sin incluir la información necesaria para descomprimir (codebook, etc.). Para archivos reales se necesitaría un compresor completo, que no es el propósito de esta herramienta.
El procesamiento se realiza localmente en tu navegador.