我的字节数组的大小可以是几十兆字节。这样大的阵列不是快乐的生物,尤其是当你有很多这样的阵列的时候。所以我想压缩它们,这样它们更容易处理。它们压缩得很好,通常是3:1的比率,dotnetzip设置为最佳速度。
数组中的数据可以几乎相同。考虑到这一点,我希望找到一种方法,以编程方式以不同的方式压缩数组,就像版本控制或备份软件一样。这样,如果我有三个30MB的数组,它们只在稀疏的地方有所不同,那么我的zip文件将接近10MB而不是30MB。
我在Google和StackOverflow上尝试过许多查询,使用诸如压缩、存档、备份、diff、differential之类的语言……我的术语中没有一个是有用的。我该找什么?
你可能想看看 rsync 协议在Unix上工作。它基本上计算两个文件之间的差异,并使用该差异创建用于计算更改的压缩增量。
rsync
你也许能够适应你想做的事情。