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

本文介绍了LZMA算法在压缩字节流中的应用,作者通过封装压缩和解压函数,实现了对文件的读取、压缩及写回硬盘。文章探讨了如何利用LZMA算法进行文件操作,并提出多文件拼接压缩的设想,同时提供了工具的使用说明。
摘要由CSDN通过智能技术生成

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

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

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


LZMA

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值