Я работаю с произвольным массивом байтов, который содержит два необработанных сцепленных потока DEFLATE. Нет метаданных, которые бы указывали, где заканчивается первый поток или начинается следующий. Есть ли способ распаковать первый поток и узнать, где он закончился, чтобы я мог распаковать следующий поток?
. NET DeflateStream
не предоставляет информацию о том, сколько байтов было использовано при распаковке. Свойства Length
и Position
не поддерживаются. Мне сказали, что BaseStream
всегда будет полностью потребляться, а не только до конца потока DEFLATE. Я нашел следующие вопросы релевантными, но бесполезными:
DeflateStream продвигает базовый поток до конца
Как пройти мимо последовательности байтов deflate, содержащейся в поток байтов?
Есть ли лучшая библиотека? Есть ли алгоритм, чтобы пройти и найти конец потока? Любая помощь приветствуется.