我有一个程序,我生成比特流,大约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)时,存在明显的压缩选项,当你将其视为字节流时,它会消失.
你希望通过压缩150位来实现什么目标?除非你汇总这些19b消息中的几个,否则我不确定你希望获得什么.是UI问题 - 您希望用户发送/接收"代码"吗?
如何基地64编码?这将获取二进制数据并将其转换为编码字符,以便于传输或输入.