-1

我想在IOS端用LZ4压缩数据,想在Java端解压。

我对 IOS使用LZ4 压缩流压缩方法,对 Java 使用jpountz ()。

它在解压缩时在 Java 端失败。(看起来两个平台的 LZ4 标头不同。)

请帮忙!

如果不可能,您能否推荐任何适用于 JAVA 和 IOS 的可互操作 LZ4 库?

4

1 回答 1

1

IOS 的 LZ4 和 jpountz 都使用自己的标头封装数据。由于这些标头不同,因此它们无法相互读取。

您必须了解每种标头格式,并在两者之间实现某种形式的转换层。一旦标头被修复,其余的有效负载(压缩数据本身)应该是可读的。

另一种可能性是使用不同的 LZ4 库,符合官方 LZ4 帧格式。LZ4 主页维护了一个兼容编解码器的列表,其中一个是 Java 版本。

C 参考版本可以在 iOS 上使用。它是可移植的,并且通常与 Objective-C 兼容。用于使用lz4frame.h官方帧格式进行封装。

于 2019-02-28T18:54:15.173 回答