Compression 短数字字符串的压缩

Compression 短数字字符串的压缩,compression,Compression,有人知道非常短的数字/二进制字符串的压缩吗 例如,我想压缩任何数字(0-9)或二进制,即3,2,6,4 或 我想压缩2,1,3,6,1,4,13的数字或二进制 申请了第四名和第四名。我查了一下第四名和第四名。我看到前者的范围是1-50,后者是0-9。我认为我们可以假设任何数字都是同样可能的(一些压缩方案利用了某些数字比其他数字更可能出现的事实) 你在哪个平台上编码?像Python或JavaScript这样的高级语言?还是像C或C++那样的低级语言?您希望存储大量的数字序列吗?或者你只是想想出一个

有人知道非常短的数字/二进制字符串的压缩吗

例如,我想压缩任何数字(0-9)或二进制,即3,2,6,4

我想压缩2,1,3,6,1,4,13的数字或二进制


申请了第四名和第四名。我查了一下第四名和第四名。我看到前者的范围是1-50,后者是0-9。我认为我们可以假设任何数字都是同样可能的(一些压缩方案利用了某些数字比其他数字更可能出现的事实)

你在哪个平台上编码?像Python或JavaScript这样的高级语言?还是像C或C++那样的低级语言?您希望存储大量的数字序列吗?或者你只是想想出一个有效的内存表示法

如果要处理内存中的大型集合,最合理的折衷方法是确保每个字符不超过1个字节(可以保存0-255之间的值)。这在更高级别的语言中可能更难做到,因为这些语言通常只有一个“数字”类型,而没有更精细的粒度。但是C/C++甚至Java应该允许您这样做

如果您想在光盘上存储一大组同样可能的数字,请查看存储数字所需的最小位数。对于Euromlants,您需要6位来存储一个数字(2^6=64)。然后将它们存储在位流中,以便每个数字节省2位。使用Pick 4,您可以在一个字节中编码2个数字