【问题标题】:Is there a compression format that allows decompression at any point in the file?是否有允许在文件中的任何位置解压缩的压缩格式?
【发布时间】:2017-01-27 14:34:29
【问题描述】:

我看到随机读取压缩数据的问题通常通过块压缩来解决,允许解压缩从最近的压缩块开始位置开始,根据块大小,该位置应该接近用户实际想要的位置开始解压。但是,我很好奇是否存在任何允许解压缩真正从压缩流中的任何位置开始的压缩算法。

【问题讨论】:

    标签: compression


    【解决方案1】:

    当然没有标准的压缩格式。我可以想象一个简单的、固定的 Huffman 符号编码,您可以在任何地方输入流,但可以在任何 Huffman 代码的开头输入。但是,如果没有文件本身那么大的索引,就无法知道哪些位位置是代码的开始。在任何情况下,仅使用 Huffman 压缩都不会给人留下深刻印象。

    【讨论】:

    • 是否有支持从预定义位置进行部分解码的 API?例如,当我正在编码数据时,我可能会定期标记窗口边界。然后 API 将允许我从窗口边界开始解码。
    • 不是 API,但您可以查看 zran.c,它在 zlib 或 gzip 流中创建一组入口点以进行随机访问。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 2021-09-12
    相关资源
    最近更新 更多