c# GzipStream распаковывать поток только если он действительно запакован
Вообщем вопрос не очевидный на первый взгляд.
Что у нас имеется:
Есть поток inputStream.
Мы знаем что он возможно запакован gzip'ом. А возможно нет.
Что требуется:
Требуется прочитать этот поток, при необходимости распаковав.
Если просто обернуть его в GzipStream, то он рухнет с ошибкой «The magic number in GZip header is not correct».
В чем загвоздка:
Нельзя просто вычитать поток в byte[], а потом играться с этим массивом, так как стоят жесткие ограничения по скорости работы.
Есть у кого-нибудь предложения как это сделать?
ID1 (IDentification 1)
ID2 (IDentification 2)
These have the fixed values ID1 = 31 (0x1f, \037), ID2 = 139
(0x8b, \213), to identify the file as being in gzip format.