2010-03-11 34 views
6

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

从我读过的,库使用DEFLATE,这不是LZW。另外,我已阅读关于使用LZW算法的一些许可问题。

我可以使用什么来解码数据?有图书馆吗?我必须自己执行它吗?那么授权问题呢?

+2

LZW算法本身已获得专利,但专利在2003年过期。 – 2010-03-11 13:42:18

回答

1

这里有几个环节:

而且还有其他的。

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

+0

它们不是TIFF文件,它们只是图像栅格数据,我只对解码感兴趣。感谢您的资源! – 2010-03-11 14:04:27

1

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

1

在找到一个适用于我的案例之前,我经历了令人惊讶的LZW实现。

BioJava project为我工作,当我需要解压缩.pax文件。