我正在尝试为 message.rpmsg 格式实现 Microsoft 规范(此处:http: //msdn.microsoft.com/en-us/library/ee625343 (v=EXCHG.80).aspx )。规范是 zlib 压缩流的奇怪组合,打包在数据包中。对于每个数据包,我需要在数据包标头中放入未压缩流中的字节数(必须为 4096,否则 Outlook 会咳嗽,尽管有规范)、压缩缓冲区的大小和魔术标记。
我的代码在 .net 中,最好我正在寻找一个全托管库。
查看各种库(SharpZlibLib、zlib.NET、Microsoft Compression.Deflate 命名空间)-我找不到每个“写入”都会执行的公开可用条目:-返回压缩字节数-保证字节边界(FLUSH_SYNC ) - 理想情况下,无需欺骗或更改太多代码
我看过的库有一个输出流,您可以从中读取(整个压缩流) - 但不提供对数据包本身的访问。
目前,在对 contrib/dotzlib 进行多次修改后,我使用的是原始 zlib 库和本机 zlib1.dll - 但是,我想避免当前解决方法带来的明显性能和部署麻烦
所以我正在寻找一个库,它可以让我指定 FLUSH 模式,并让我访问每个数据包的大小。
此外,如果有人可以评价各种库(zlib.net,SharpZipLib 似乎是最普遍的——还有什么?),以及性能/质量/支持等领域
非常感谢 Uri