我想要一个压缩API,该API允许我将其状态信息与压缩数据分开存储。
我认识到要正常工作,我可能需要一个需要2次通过的API:对数据进行1次传递以建立其符号替换表,并进行2次以实际压缩数据。
是否存在这样的API?
答案 0 :(得分:0)
任何可用的压缩库都有一个状态,因此您可以压缩任意长的流。没有状态,您将必须在一次调用中提供所有数据。
此外,任何可用的压缩库都在流式传输,这意味着只有一遍。
zlib是一个示例,其中deflate()
和inflate()
流在z_stream
结构中引用的调用之间保持不透明的状态。