Porque razon no se pueden recomprimir un archivo y que se reduca su peso

Iniciado por sabeeee, 14 Febrero 2015, 06:53 AM

0 Miembros y 1 Visitante están viendo este tema.

sabeeee

Bueno, la verdad es que estoy creando unas herramientas para hacer mis repacks en C en mi pais no es que viva mal ni nada pero en donde vivo tengo un mega literalmente (En España deben reirse), el roblema que veo es que usando muchos algoritmos diferentes y con varios compresores ni con PAQ consegui mejores resultados que con FreeARC,  por eso estoy imventando metodos porque los actuales son de los años 50 (muy efectivos), por ejemplo note que no hay efectividad binaria al comprimir (bit a bit) por ejemplo, escribo 01010101 01010101 01010101 01010101 En binario y luego comparo lo mismo en un txt normal y el archivo pesa mas si es en binario literal que el del texto normal (8 bits x numero), es para pensar, actualmente cree un sistema que lo transforma a unos bit (no se ahoguen con el humo que no es para tanto), lamentable no tengo habilidad para pasarlo a C
"Vengándose, uno iguala a su enemigo; perdonando, uno se muestra superior a él."
Francis Bacon

Orubatosu

Simple. Un algoritmo de compresión, a grandes rasgos elimina la redundancia (muy a grandes rasgos). Busca "cachos" iguales y guarda solo uno indicando donde va el otro, etc...

El resultado es un archivo con muy pocas o ninguna redundancia, obviamente si buscas repeticiones en un archivo que no las tiene, no puedes reducirlo mas.
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

sabeeee

A perfecto, entonces si reacomo los bits de forma aleatoria y de alguna forma que se pueda reconsruir lo podia recomprimir
"Vengándose, uno iguala a su enemigo; perdonando, uno se muestra superior a él."
Francis Bacon

ivancea96

Reacomodando los bits de forma 'aleatoria', necesitarás guardar en el archivo (o hacer otro programa), para saber de que forma colocar los bits en su estado original.

fary

Un byte a la izquierda.

Orubatosu

Cita de: sabeeee en 16 Febrero 2015, 04:18 AM
A perfecto, entonces si reacomo los bits de forma aleatoria y de alguna forma que se pueda reconsruir lo podia recomprimir

Si haces eso, destruyes la información original. Por otro lado, la información está ya en un estado elevado de desorden, si lo reordenas necesitas guardar en algún sitio como volver a ese estado inicial, con lo que en realidad no adelantas nada.

Solo te diré una cosa, si se pudiera recomprimir de forma indefinida, no tendríamos problemas de espacio nunca  :laugh:

"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

heliosvr6

#6
Y eso si no contamos con que en alguno de las compresiones/descompresiones no se introduzcan datos erroneos, es fácil que donde hay un 0 lógico se cuele un 1 lógico con un simple pico de tensión.

En toda compresión/descompresión de archivos puede haber modificación de los datos, para eso inventaron el CRC. Cuanto más complejo sea la compresión o más simplificada también hay mas probabilidad de perder gran parte de datos en vez de unos bits.

¿No? xd.

ivancea96

Cita de: heliosvr6 en 27 Febrero 2015, 00:11 AM
Y eso si no contamos con que en alguno de las compresiones/descompresiones no se introduzcan datos erroneos, es fácil que donde hay un 0 lógico se cuele un 1 lógico con un simple pico de tensión.

En toda compresión/descompresión de archivos puede haber modificación de los datos, para eso inventaron el CRC. Cuanto más complejo sea la compresión o más simplificada también hay mas probabilidad de perder gran parte de datos en vez de unos bits.

¿No? xd.

Que yo sepa en la compresión de archivos no se tiene en cuenta errores electrónicos ·_·