代码之家  ›  专栏  ›  技术社区  ›  ajs410

如何在.NET中进行压缩差异存档?

  •  0
  • ajs410  · 技术社区  · 14 年前

    我的字节数组的大小可以是几十兆字节。这样大的阵列不是快乐的生物,尤其是当你有很多这样的阵列的时候。所以我想压缩它们,这样它们更容易处理。它们压缩得很好,通常是3:1的比率,dotnetzip设置为最佳速度。

    数组中的数据可以几乎相同。考虑到这一点,我希望找到一种方法,以编程方式以不同的方式压缩数组,就像版本控制或备份软件一样。这样,如果我有三个30MB的数组,它们只在稀疏的地方有所不同,那么我的zip文件将接近10MB而不是30MB。

    我在Google和StackOverflow上尝试过许多查询,使用诸如压缩、存档、备份、diff、differential之类的语言……我的术语中没有一个是有用的。我该找什么?

    1 回复  |  直到 14 年前
        1
  •  0
  •   LBushkin    14 年前

    你可能想看看 rsync 协议在Unix上工作。它基本上计算两个文件之间的差异,并使用该差异创建用于计算更改的压缩增量。

    你也许能够适应你想做的事情。