压缩零比特序列

时间:2013-05-12 14:36:34

标签: c++ compression bit

我试图找到一些库(C ++)或算法,它们可以用这些属性压缩位数:

存在零比特和比特序列的序列,其携带信息(1或0)。 序列通常为8-24位长。 我需要一个可以利用这些零位的无损压缩。

我是如何做出这样的序列的:

我将各种变量序列化为字节数组。我经常这样做来创建快照,所以这些变量通常不会有太大变化。我想用这个事实来压缩。我不知道那些变量的类型,只是字节长度。所以我使用XOR获取字节并使用前一个快照创建diff信息。 如果变量稍微改变,通常会有很多零位。这是零位序列。其余的位带有信息,即信息序列。 对于每个变量,可能会有1个零位序列和1个信息序列。

编辑: 到目前为止,我正在考虑这些算法:

RLE - 信息序列会弄乱结果

一些符号编码(Huffman等) - 数据可能不会共享很多“符号”,它不是文本而且序列很短。整个数组通常大约1000个字节。

1 个答案:

答案 0 :(得分:0)

如果~1000字节序列有很多零字节,那么只需使用标准的面向字节的压缩算法,例如zlib。你会得到压缩。