Как найти конец потока DEFLATE в байтовом массиве большего размера? - PullRequest
1 голос
/ 16 апреля 2020

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

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

DeflateStream продвигает базовый поток до конца

Как пройти мимо последовательности байтов deflate, содержащейся в поток байтов?

Есть ли лучшая библиотека? Есть ли алгоритм, чтобы пройти и найти конец потока? Любая помощь приветствуется.

...