gzip + chunked: нужно ли ждать загрузки всего файла перед распаковкой? - PullRequest
0 голосов
/ 05 марта 2012

Я почти уверен в ответе, но я бы хотел, чтобы кто-то подтвердил его, пожалуйста.

Невозможно распаковать только часть файла, если в заголовках HTTP используется gzip.Я должен загрузить весь файл, прежде чем иметь возможность разархивировать его, чтобы получить данные.

Верно?

Например, если я получу первые 100 байтов с некоторым кодом, подобным этому:

myfile.read(100)

Я не смогу распаковать его в этот момент.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 07 марта 2012

Вы можете немедленно начать распаковку потока gzip для любого объема данных, который у вас есть. Вы сможете извлечь все несжатые байты, представленные в имеющихся у вас сжатых данных.

Вы должны всегда распаковывать с самого начала. Итак, что вы не можете сделать, это начать распаковку в середине потока gzip. Если вы хотите получить доступ к данным в середине, вам нужно распаковать все данные до этой точки.

1 голос
/ 05 марта 2012

Неправильно.GZIP позволяет потоковую передачу.Возможно, вы путаете формат с форматом ZIP-архива.

...