【发布时间】:2010-05-12 21:27:02
【问题描述】:
我想在我的 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 中没有)。
此外,当我在 boost 中解压缩在 zlib.NET 中压缩的数据时,我无法从流中读取数据,提示有问题。当我尝试解压缩在 boost 中压缩的数据时,它确实有效。
有人知道怎么回事吗?
谢谢,
约翰
【问题讨论】:
标签: c# compatibility zlib boost-iostreams