holmes31415 2019-01-24 13:16 采纳率: 40%
浏览 1207

如何高效对时间数据进行压缩,压缩比优先

请教如何对时间数据进行压缩,例如我将数据转化为time_t格式,可以存储为4字节,但我想对时间数据进行高效的无损压缩,请问有什么好的方法

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-01-25 01:04
    关注

    分为两个部分,一个是时间编码,一般来说根据你的时间范围和精度,4个字节可以表示大约42亿个不同的编码。
    如果你的时间精确到秒,那么表示范围是1300年。精确到分钟,是8万年,如果是毫秒的话,就只有1.3年,现实中,我们一般表示的范围在几十年到100年这个尺度就够了,这就是为什么时间戳一般是8个字节的原因。
    如果说你要以1分钟的精度表示10年的数据,60*24*365*10,大约500万,那么3个字节就够了。

    这个阶段叫做编码

    然后就是压缩,压缩的本质就是重新编码,让短编码表示频繁用到的数据,长编码表示不频繁用到的数据,从而在整体上减小数据的长度。因此,是否能压缩的前提是,你的上面的编码,是否是随机/均匀分布的还是分布不均匀的,后者的压缩性会更强。

    压缩算法用的是哈夫曼编码,要所谓“压缩比优先”,无非就是编码的码长尽可能长。

    评论

报告相同问题?

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误