是否有GZIP的测试向量

Are there test vectors available for GZIP?

本文关键字:测试 向量 GZIP 是否      更新时间:2023-10-16

在我们的软件中,我们具有GZIP(RFC 1952)压缩/解压缩的接口,该接口目前由BOOST :: iostreams供电。由于由于链接原因,我们可能需要更改基础LIB,因此我想添加更多用于GZIP压缩和减压的测试,即精确的每个字节比较比较。

是否有任何官方或广泛使用的GZIP测试向量?

如注释中所述,您无法以任何固定的期望来测试压缩机的输出。允许压缩机使用相同的输入数据生成各种可能的结果。最简单的例子是选择不同压缩水平的速度与大小交易的选择。预期压缩机保证的唯一一件事是,当其结果被解压缩时,您会得到压缩机的输入。

结果,有两种测试有意义。第一个是往返测试,您可以在其中测试压缩,然后进行解压缩,并验证您的内容是您放入的。您还应该生成来自应用程序的测试数据。

第二个是用各种无效输入对解压缩器进行测试,以确保其行为良好,即返回错误而不是崩溃。对于后者,您可以查看infcover.c,其中包括具有各种错误的deflate测试序列。

在通用无损数据压缩字段中,研究人员使用了三个知名数据集。贝尔等人于1989年引入了第一个,即卡尔加里语料库。选择了语料库中的文件以掩盖计算机处理中使用的典型数据类型。该语料库相当古老,并且包含某些无法使用的数据,但是该语料库仍然是许多作者使用的良好基准。该公司稍后提议,坎特伯雷语料库和大型坎特伯雷语料库包含相似大小的文件,少于5 mb。

历史语料库包括

  • 坎特伯雷语料库http://corpus.canterbury.ac.nz/
  • 卡尔加里语料库ftp://ftp.cpsc.ucalgary.ca/pub/projects/text.compression.corpus/

我发现的最有前途的页面是:

  • 西里西亚压缩语料库http://sun.aei.polsl.pl/~sdeor/~sdeor/index.php?page=silesia

信用上次链接提供了我用作简介的文本。您可以了解更多有关"旧" Corpora

的弊端