gpt4 book ai didi

java - Java 中的可迭代 gzip 放气/膨胀

转载 作者:搜寻专家 更新时间:2023-11-01 02:29:18 25 4
gpt4 key购买 nike

是否有隐藏在 Internet 中的 ByteBuffers 方面的 gzip-deflating 库?允许我们推送原始数据然后提取缩减数据的东西?我们搜索了它,但只找到处理 InputStreams 和 OutputStreams 的库。

我们的任务是创建 gzip 过滤器以减少管道架构中的 ByteBuffers 流。这是一个拉式架构,其中最后一个元素从前面的元素中拉取数据。我们的 gzip 过滤器处理 ByteBuffers 流,没有可用的单个 Stream 对象。

我们试过将数据流调整为某种 InputStream,然后使用 GZipOutputStream 来满足我们的要求,但至少可以说适配器代码的数量很烦人。

接受后编辑:郑重声明,我们的架构类似于 GStreamer 等。

最佳答案

我不明白“隐藏在互联网中”的部分,但是zlib执行内存中的 gzip 格式压缩和解压缩。 java.util.zip API提供对 zlib 的一些访问,尽管它是有限的。由于接口(interface)限制,您不能请求 zlib 直接生成和使用 gzip 流。但是,您可以使用 nowrap 选项来生成和使用原始压缩数据。然后,使用 java.util.zip 中的 CRC32 类,可以很容易地滚动您自己的 gzip header 和尾部。您可以在前面加上一个固定的 10 字节 header ,附加四字节 CRC,然后附加四字节未压缩长度(模 232),两者都采用小端顺序,您可以去吧。

关于java - Java 中的可迭代 gzip 放气/膨胀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13387215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com