【步兵 工具篇】lzma算法,压缩字节流

【步兵 工具篇】lzma算法,压缩字节流 by EOS.

本来上周就打算写的,不过孩子连续高烧,住院了一个礼拜。一个礼拜没回家,还写什么博客。
虽然花了不少钱,好在孩子也恢复过来了,继续努力,挣钱养家(ps:医院真心贵。~)

言归正传,其实今天这篇博客,是一个中间产物,因为在研究热更新,然后就想自己写一套,
下载部分用了curl库,但是文件打包,感觉用zip感觉差点意思,就作死的去研究tar.xz这种格式。
说实话几天过来,感觉到想搞点啥东西,不会英文真是费劲,只能靠悟的 = =、


LZMA

首先一开始研究的是 XZ Utils,在其主页上明显的放着LZMA SDK。
然后 点进去,直接就跑到 7z 的官网了,后来才得知7z也用的是这种算法。。。。
甚至还有对LZMA进行多线程和压缩时间优化的LZMA2算法,不过并没有提供独立lib,
自己搞一通费劲的要死,所以直接选用了LZMA。

其实我的需求并不是算法本身,而是它压缩数据的能力,所以具体算法我并没有过多的研究,
有兴趣的话可以自行研究一下。 不过大致上是对重复序列的特殊处理,可结合下图体会一下。
这里写图片描述
这里写图片描述
可以看到上图基本上将算法本身发挥到极致,5M的数据压缩到80

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值