我想将我的 C# 之间的压缩数据发送到 ZLIB 格式的 C++ 应用程序。在 C++ 中,我使用 boost::iostreams 中的 zlib_compressor/zlib_decompressor。在 C# 中,我目前正在使用 zlib.NET 库中提供的 ZOutputStream。首先,当我使用两个库压缩相同的数据时,结果看起来不同:
- boost::iostreams::zlib_compressor:
63 61 60 60 F8 00 C4 C1 25 45 99 79 E9 23 87 04 00
- zlib.NET (zlib.ZOutputStream):
78 9C 63 61 60 60 F8 00 C4 C1 25 45 99 79 E9 23 87 04 00 4F 31 63 8D
(注意 zlib.NET 中存在的 78 9C 模式,但 boost 中没有)。
此外,当我解压缩在 zlib.NET 中压缩的 boost 中的数据时,我无法从流中读取数据,提示有问题。当我尝试解压缩在 boost 中压缩的数据时,它确实有效。
有人知道出了什么问题吗?
谢谢,
约翰