[C con Clase] Resumen de Cconclase, Vol 65, Envío 14

Steven Davidson srd4121 en njit.edu
Jue Oct 13 14:17:29 CEST 2011


Hola Erika,

2011/10/13 ERIKA P <erik_apj en yahoo.com>:
> Gracias Steven, quedo resuelto el problema, ahora lo verificare el codigo ya
> que mande un archivo .txt y en lugar de comprimirlo aumento su tamano, con
> un docx funciono bien, si logro encontrar el porque de esto les cuento.
> saludos,

Esto suele suceder, porque el fichero de salida contiene al principio
la información para reconstruir la tabla de valores que asocian cada
secuencia de bits con cada carácter. Es decir, el formato del fichero
de salida viene a ser algo así:

[LONGITUD_FICHERO][CANTIDAD_ELEMENTOS][REGISTRO_1][REGISTRO_2][REGISTRO_3]...[REGISTRO_N]
[TEXTO_COMPRIMIDO]

donde cada registro se compone de tres campos para describir la letra
(el carácter), la secuencia de bits que comprime la letra en cuestión,
y la cantidad de bits que ocupa tal secuencia:

[LETRA][BITS][CANTIDAD_BITS]

De todas maneras, en el artículo, Salvador ofrece esta advertencia al final:

"Pero no nos engañemos, también hay que almacenar la información
relativa a la codificación, por lo que se puede ver que para textos
cortos no obtendremos mucha reducción de tamaño."


En tu caso, el ".txt" seguramente no era muy largo o quizás había
diferentes caracteres, pero no tan frecuentes. También ten en cuenta
que ".docx" internamente no es un fichero de texto sino binario;
contiene más información que los meros caracteres.


Espero que esto aclare la duda.

Steven




Más información sobre la lista de distribución Cconclase