我有一个程序,可以在其中生成大约 80 到 150 位左右的比特流,我想对其进行压缩,因为我要把它们变成某种 ASCII 字符串,以便人们可以传输它们。
有谁知道可以在这样的流上工作的好的、免费的位感知压缩器?我对“标准选项”的主要问题是这个流真的应该被视为位,而不是字节,否则结构会丢失,并且它们的开销会淹没任何收益。
添加:
我想压缩这些流的原因是因为用户将剪切+粘贴它们,可能使用 base64 编码之类的东西,所以保存一些数据是有帮助的。
这是一个例子,给那些想看的人。我将添加格式以使其更易于阅读:
110 110 - This is a 6x6 grid (the maximum is 7x7, so we only need 3 bits!)
000000
011110
010010
010010
011110
000000 - This is one layout grid
000000
000000
001000
000100
000000
000000 - This is the second layout grid
现在我们列出一些片段
010 11111111 - A piece is a 3-bit colour code, then an 8-bit list of 'on / off' bits.
001 10101010 - Another bit!
001 10101010 - Another, identical bit!
我说这应该被视为“位”的原因是,当您将其视为位流(特别是“网格中的许多 0”)时,有明显的压缩选项,当您将其视为字节流时,这些选项就会消失。