【问题标题】:How can I do LZW decoding in Java?如何在 Java 中进行 LZW 解码?
【发布时间】:2010-03-11 12:56:50
【问题描述】:

我有一个数据库,其中包含存储为二进制 blob 的图片数据。文档说数据是使用 LZW 编码的。我以为我可以使用 Java 库中的 Zip 或 GZip 输入流对其进行解码,但它不起作用 - 我收到一个异常,说数据格式不正确。

根据我的阅读,该库使用 DEFLATE,而不是 LZW。此外,我还阅读了有关使用 LZW 算法的一些许可问题。

我可以使用什么来解码数据?有图书馆吗?我必须自己实施吗?许可问题呢?

【问题讨论】:

  • LZW算法本身已申请专利,但专利已于2003年到期。

标签: java decoding lzw


【解决方案1】:

我知道这个问题很老了,但我只是想添加一个关于 LZW 的好资源:

http://www.matthewflickinger.com/lab/whatsinagif/lzw_image_data.asp

它更具体地说是关于在 GIF 图像中使用 LZW,但它很好地解释了压缩和解压缩算法。

【讨论】:

    【解决方案2】:

    这里有几个链接:

    还有其他的。

    确实,如果图像是 LZW 压缩的 TIFF 文件,Java Advanced Imaging API 显然支持直接解码(虽然似乎不是encoding)。

    【讨论】:

    • 它们不是 TIFF 文件,它们只是图像光栅数据,我只对解码感兴趣。感谢您的资源!
    【解决方案3】:

    您也可以尝试使用内部使用 7zip 库的7-Zip JBinding。它非常易于使用。

    【讨论】:

      【解决方案4】:

      在找到适合我的情况之前,我经历了数量惊人的 LZW 实现。

      当我需要解压 .pax 文件时,BioJava project 中的UncompressedInputStream 为我工作。

      【讨论】:

        猜你喜欢
        • 2011-09-02
        • 1970-01-01
        • 2015-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多