如何在Java中进行LZW解码?

时间:2010-03-11 12:56:51

标签: java decoding lzw

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

根据我的阅读,图书馆使用的是DEFLATE,它不是LZW。另外,我已经阅读了有关使用LZW算法的一些许可问题。

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

4 个答案:

答案 0 :(得分:2)

我知道问题已经过时了,但我只想添加一个关于LZW的优秀资源:

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

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

答案 1 :(得分:1)

以下是几个链接:

还有其他人。

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

答案 2 :(得分:1)

您也可以尝试使用内部使用7zip库的7-Zip JBinding。这很容易使用。

答案 3 :(得分:1)

在找到适合我案例的LZW之前,我经历了大量的LZW实现。

当我需要解压缩.pax文件时,来自UncompressedInputStreamBioJava project为我工作。