Esto puede caer en el ámbito de "no es realmente factible" o "no vale la pena el esfuerzo", pero aquí va.Acceso aleatorio de archivos gzip multiparte (en Java)
Estoy tratando de acceder aleatoriamente a los registros almacenados dentro de un archivo gzip de varias partes. Específicamente, los archivos que me interesan son comprimidos Heretrix Arc files. (En caso de que no esté familiarizado con los archivos gzip de varias partes, la especificación gzip permite que múltiples flujos gzip se concatenen en un solo archivo gzip. No comparten ninguna información del diccionario, es simple anexar un binario)
Estoy pensando que debería ser posible hacerlo buscando un cierto desplazamiento dentro del archivo, luego buscar los bytes del encabezado mágico gzip (es decir, 0x1f8b, según el RFC) e intentar leer la secuencia gzip de los siguientes bytes . El problema con este enfoque es que esos mismos bytes también pueden aparecer dentro de los datos reales, por lo que buscar esos bytes puede llevar a una posición no válida para comenzar a leer una secuencia gzip. ¿Hay una mejor manera de manejar el acceso aleatorio, dado que las compensaciones de registros no se conocen a priori?