No es práctico trabajar con datos comprimidos sin pérdidas sin descomprimirlos primero.
Los datos comprimidos sin pérdida generalmente constan de dos partes por fragmento: un flujo de bytes comprimido relacionado con el diccionario a flujos de bytes sin comprimir, y la versión comprimida de los datos que utilizan ese diccionario. El diccionario se genera en función de las secuencias de bytes más comunes que se encuentran en el archivo, a través de una variedad de medios.
Se pueden encontrar secuencias idénticas de bytes en dos archivos comprimidos y, sin embargo, pueden significar cosas completamente diferentes, dependiendo del diccionario con el que se comprime el bloque. Tienes que usar el diccionario para entender lo que significan los datos. En efecto, debe descomprimir los datos.
- Cómo mostrar que O (max {f (n), g (n)}) = O (f (n) + g (n))
- ¿Cuáles son ejemplos de la secuencia de Fibonacci en el campo de la ciencia y las artes liberales (economía, sociología, incluso historia, etc.)?
- ¿Cuál es el mejor algoritmo para elegir para la tarea de aprendizaje automático de agrupar una base de datos de listados de casas con sus propiedades (algunos de los cuales son binarios y otros son numéricos y preferiblemente con la primera imagen)?
- ¿Por qué no usar Dijkstra o Bellman-Ford para encontrar el camino más corto entre dos personas en Facebook y por qué no usar BFS bidireccional en DVR o LSR?
- ¿Cuáles son algunos de sus mejores algoritmos de C ++ o C que está orgulloso de haber escrito?
Digamos que desea modificar los datos cifrados. Por ejemplo, inserte un párrafo en un documento. Insertar esos datos en el bloque comprimido existente donde pertenece podría hacer que ese bloque sea demasiado grande para el esquema de compresión. Con el diccionario actual, podría aumentar el bloque incluso más que el número de bytes sin comprimir agregados. Podría requerir que se reescriba el diccionario existente, lo que requeriría cambiar la codificación del resto de los datos en el bloque. Todo tipo de pequeños detalles complicados.
De nuevo, no es realmente posible trabajar con datos comprimidos sin pérdidas de la misma manera que tenemos disponibles para datos sin comprimir.
Ha habido intentos de generalizar la compresión para que todo lo almacenado en el disco se comprima y solo se descomprima mientras se manipula en la memoria. Esto le da algunas de las propiedades que desea, pero en general creo que es menos eficiente que trabajar con datos sin comprimir.