以秒表示的Unix时间戳类似于以下内容(当然是四舍五入的)
1409134929
问题在于我们的系统受到内存的限制,并且我们每秒都会生成并存储一个时间戳。它们是一个接一个地随机访问的,因此“整体”压缩将不起作用。
Smaz无济于事,因为它只压缩短字符串,LZMA都不会削减它。
是否有一些特殊的压缩算法或字典技术来实现这种类型的压缩?
不要使用字符串,而是使用二进制值。POSIX时间戳(EPOCH)以32位值存储(至少在32位PC上)。
如果char类型使用32位内存插槽,则将时间戳记存储在字符串上可能需要9x8bit = 72bits或最多9x32bits = 288bits。
您的解决方案是获取字符串的二进制形式。
在这里,您将获得二进制文件:
二进制EPOCH
如果您使用C语言,请查看mktime函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
点击生成二维码
我来说两句