Zlib compression in boost::iostreams not compatible with zlib.NET

Posted by Johan on Stack Overflow See other posts from Stack Overflow or by Johan
Published on 2010-05-12T21:27:02Z Indexed on 2010/05/12 21:34 UTC
Read the original article Hit count: 538

Filed under:
|
|
|

Hello,

I want to send compressed data between my C# to a C++ application in ZLIB format. In C++, I use the zlib_compressor/zlib_decompressor available in boost::iostreams. In C#, I am currently using the ZOutputStream available in the zlib.NET library. First of all, when I compress the same data using both libraries, the results look different:

  1. boost::iostreams::zlib_compressor:

FF 13 49 48 00 00 01 00 01 00 00 00 63 61 60 60 F8 00 C4 C1 25 45 99 79 E9 23 87 04 00

  1. zlib.NET (zlib.ZOutputStream):

FF 13 49 48 00 00 01 00 01 00 00 00 78 9C 63 61 60 60 F8 00 C4 C1 25 45 99 79 E9 23 87 04 00 4F 31 63 8D

(Note the 78 9C pattern that is present in zlib.NET, but not in boost).

Furthermore, when I decompress data in boost that I compressed in zlib.NET, I am not able to read from the stream suggesting something is wrong. It does work when I try to decompress data compressed in boost.

Does anybody know what is going wrong?

Thank you,

Johan

© Stack Overflow or respective owner

Related posts about zlib

Related posts about boost-iostreams