我试图找到一些库(C ++)或算法,它们可以用这些属性压缩位数:
存在零比特和比特序列的序列,其携带信息(1或0)。 序列通常为8-24位长。 我需要一个可以利用这些零位的无损压缩。
我是如何做出这样的序列的:
我将各种变量序列化为字节数组。我经常这样做来创建快照,所以这些变量通常不会有太大变化。我想用这个事实来压缩。我不知道那些变量的类型,只是字节长度。所以我使用XOR获取字节并使用前一个快照创建diff信息。 如果变量稍微改变,通常会有很多零位。这是零位序列。其余的位带有信息,即信息序列。 对于每个变量,可能会有1个零位序列和1个信息序列。
编辑: 到目前为止,我正在考虑这些算法:
RLE - 信息序列会弄乱结果
一些符号编码(Huffman等) - 数据可能不会共享很多“符号”,它不是文本而且序列很短。整个数组通常大约1000个字节。