To może spaść w królestwo "naprawdę niewykonalne" lub "naprawdę nie warte wysiłku", ale tutaj idzie.Dostęp do wieloelementowego pliku gzip (w Javie)
Próbuję uzyskać dostęp do rekordów zapisanych w wieloczęściowym pliku gzip. W szczególności pliki, które mnie interesują, to skompresowane pliki Arc Heretrix. (W przypadku, gdy nie jesteś zaznajomiony z wieloczęściowymi plikami gzip, specyfikacja gzip pozwala na łączenie wielu strumieni gzip w jeden plik gzip, nie udostępniają żadnych informacji słownikowych, jest to proste dołączanie binarne.)
Myślę, że powinno być to możliwe, szukając pewnego przesunięcia w pliku, a następnie skanując bajty nagłówków magii gzip (tj. 0x1f8b, jak w przypadku RFC) i próbując odczytać strumień gzip z następujących bajtów . Problem z tym podejściem polega na tym, że te same bajty mogą pojawić się również w rzeczywistych danych, więc poszukiwanie tych bajtów może prowadzić do nieprawidłowej pozycji, aby rozpocząć odczytywanie strumienia gzip. Czy istnieje lepszy sposób na obsługę dostępu losowego, biorąc pod uwagę, że przesunięcia rekordów nie są znane a priori?