Cambiar el nombre de un archivo .obb a .zip y luego descomprimirlo y volver a comprimirlo con 7-zip produce un archivo de diferente tamaño

Cambiar el nombre de un archivo .obb a .zip y luego descomprimirlo y volver a comprimirlo con 7-zip produce un archivo de diferente tamaño

Transferí un archivo .obb desde mi teléfono Android a mi PC con Windows, cambié el nombre de la extensión del archivo a .zip y lo descomprimí con 7-zip. Esto produjo una carpeta con archivos de imagen, audio y otros. Cuando lo volví a comprimir y lo volví a transferir como .obb, la aplicación no funcionó. Según unrespuestaEn este sitio, los archivos .obb deben comprimirse con el método de compresión "Store", pero esto produjo un archivo .zip que es aproximadamente 36.000 KB más grande que el archivo .obb original. También probé la herramienta JOBB de Android, pero produjo un archivo .obb aún más grande (~100.000 KB más grande). ¿Por qué al descomprimir y volver a comprimir no se produce un archivo del mismo tamaño que el original y cómo puedo solucionarlo? Gracias.

Respuesta1

ZIP tiene diferentes niveles de compresión (en 7-Zip hay 5 niveles diferentes disponibles más ninguna compresión) y algoritmos de compresión diferentes adicionales (Deflate,...). Dependiendo del nivel seleccionado originalmente y del nivel seleccionado, el tamaño comprimido puede variar.

Por lo tanto, no es nada inusual que el tamaño del archivo comprimido sea diferente. El único dato relevante es la cantidad de archivos, el tamaño descomprimido y por supuesto la estructura de archivos y carpetas dentro del archivo ZIP.

Respuesta2

Los archivos .obb no están limitadosa un tipo de archivo de entrada específico, pero en su lugar puede ser cualquier cosa y se le cambiará el nombre a .obbla extensión original.

Si desea determinar el nivel de compresión exacto utilizado, deberá descubrir cómo leer el formato en un editor hexadecimal. Alternativamente, puede probar el programa Python mencionado en la respuesta aesta pregunta,hachoir. Aunque no se mantiene, es un cambio reciente y está diseñado para python3.6+.

información relacionada