0

我正在尝试通过以下方式解压缩 .zst 文件:

public byte[] decompress() {
byte[] compressedBytes = Files.readAllBytes(Paths.get(PATH_TO_ZST));
final long size = Zstd.decompressedSize(compressedBytes);
return Zstd.decompress(compressedBytes, (int)size);
}

我遇到了这个:

com.github.luben.zstd.ZstdException: 未知帧描述符 [java] com.github.luben.zstd.ZstdDecompressCtx.decompressByteArray(ZstdDecompressCtx.java:157) [java] com.github.luben.zstd.ZstdDecompressCtx.decompress(ZstdDecompressCtx .java:214) [java]

有没有人遇到过类似的事情?谢谢!

4

1 回答 1

0

该错误意味着 zstd 无法识别帧的前 4 个字节。这可能是因为:

  1. 数据不是 zstd 格式,
  2. zstd 帧末尾有多余的数据。

您还需要检查Zstd.decompressedSize()for的输出0,这意味着帧已损坏,或者帧头中不存在大小。请参阅文档

于 2021-08-02T17:59:02.683 回答