GzipStream .NET совместим с основанным на zlib qCompress / qUncompress на основе zlib? - PullRequest
0 голосов
/ 30 декабря 2010

. GzipStream .NET совместим с qCompress / qUncompress на основе zlib Qt?Я полагаю, что оба они используют алгоритм дефляции, поэтому смогу ли я использовать .NET DeflateStream или GzipStream для чтения данных, записанных Qt QCompress, и для записи данных, читаемых Qt QUncompress, без переопределения zlib полностью в .NET?

1 Ответ

2 голосов
/ 30 декабря 2010

Я сомневаюсь в этом.Во-первых, qCompress () помещает размер данных в первые 4 байта, что не имеет ничего общего со стандартами zlib.Вы можете пропустить эти байты, но это грязный хак.Во-вторых, GzipStream звучит так, будто читает формат Gzip (формат zlib, предназначенный для сжатия файлов), когда qCompress () использует вызов compress2 (), который использует другой формат zlib, предназначенный для сжатия в памяти.

qCompress () и qUncompress () предназначены для работы друг с другом и не более того.Если вам нужна совместимость с другим кодом, используйте zlib напрямую, это просто и удобно.Фактически, мы делаем это в нашей компании - сервер использует Qt, клиенты используют .Net и Java.Работает отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...