Как получить несжатую длину строки, сжатой GZIP?

Есть ли надежный способ получить несжатую длину сжатой строки (в частности, сжатой с помощью GZIP) без распаковки строки? У меня нет контроля над процессом сжатия, т.е. нет согласованных флагов или хвостовых данных. Я читал, что вы можете проверить четыре последних байта, но, похоже, для этого требуется включить флаги, которые, опять же, я не могу контролировать.


person gwow12345    schedule 21.01.2021    source источник
comment
См. superuser.com/a/828300/85927.   -  person Flimzy    schedule 21.01.2021
comment
Это не отвечает на мой вопрос. Мне нужен надежный (читай: независимый от инструментов, основанный только на методе сжатия) способ сделать это.   -  person gwow12345    schedule 21.01.2021
comment
Он дает максимально возможный ответ, не видя вашей фактической строки gzip. TL;ДР; сам поток gzip не содержит требуемой информации. Но если ваш поток включает заголовок, это может быть.   -  person Flimzy    schedule 21.01.2021
comment
Это отвечает на мой вопрос. Спасибо. Добавьте это как ответ, если хотите, чтобы я принял его.   -  person gwow12345    schedule 21.01.2021
comment
См. stackoverflow.com/a/9727599/1180620.   -  person Mark Adler    schedule 21.01.2021


Ответы (1)


Сам поток gzip не содержит требуемой информации. Но если ваш поток включает заголовок, это может быть.

Подробнее здесь.

person Flimzy    schedule 21.01.2021