java - 用于 Java 或替代二进制差异格式的 VCDIFF

标签 java compression vcdiff

<分区>

是否有 VCDIFF 二进制差异格式(解码器和编码器)的开源 Java 实现?

xdeltaopen-vcdiff ,但它们都是 C 库。

或者,是否可以使用其他格式/算法从 Java 生成二进制文件差异?

最佳答案

您可以使用 badiff 生成二进制差异;该网站是

http://badiff.org/

它在maven central 上可用。它是 BSD 许可的,对 OSS 和商业都非常友好。使用的算法是本文中描述的 O(ND) diff 的分块版本:

http://www.xmailserver.org/diff2.pdf

差异格式与其他任何格式都不是特别兼容,但它会产生一些非常好的和非常小的差异。

这个库非常快;在我的台式机上,它可以在 54 秒内为两个随机的 50MB 输入流生成差异。希望这足够快;我认为这相当令人印象深刻,因为这是对每个 5000 万个代币的两个代币流的比较。 badiff 将在计算差异时利用多个 CPU 内核。

免责声明:我是 badiff 的作者,所以我当然认为它很酷。我总是乐于接受建议;能够读/写“标准”二进制差异格式之类的东西听起来很酷,可以添加到即将发布的版本中。

关于java - 用于 Java 或替代二进制差异格式的 VCDIFF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1108030/

相关文章:

Java SDCH 压缩器/解压缩器

Java Pong 球和 Racket 不可见

java - org.openqa.selenium.NoSuchWindowException : Unable to get browser

c++ - 是否有好的数据翻译/转换模式/习惯用法?

emacs - 如何使 vc-diff 输出更紧凑

java - Android studio 在 java class/findViewById 中添加 admob 错误

Java 队列 - 为什么 "poll"和 "offer"?

c - 使用 zlib 库进行 gzip 解压

ruby - 使用 Ruby 压缩位串