我正在尋找一個解決方案來比較同一個文件的兩個版本,以獲得更改/差異的表示。基本文件版本比較算法
回答
如果是純文本,那麼Google的diff-match-patch庫應該做你想做的事(它有一個C#版本)。
如果它是二進制數據,然後查看人們將更新應用於可執行文件的事情(bsdiff和Courgette)。他們尋找兩個文件之間的最小差異,以便將更小的更新發送給最終用戶。聽起來類似於你的需求。
哇 - 這種方式更有幫助一個答案比我預期在這裏看到 – sehe 2011-04-05 11:02:07
謝謝傑夫!但是比較文本和二進制文件有什麼區別?我的意思是它的字節數組不是嗎? – 2011-04-05 11:35:40
我認爲主要的區別在於文本是逐行顯示的,而您正在尋找一個可讀的差異。對於二進制文件,您正在考慮更改整個文件的最小字節數,而不考慮人類。 – 2011-04-05 12:05:33
對於純文本文件,你可以在這裏找到C#的開源實現:https://github.com/mmanela/diffplex
這個項目的新地址是https://github.com/mmanela/diffplex – Aaron 2017-04-04 22:33:47
- 1. 文本比較算法
- 2. Git比較「基本」版本與「他們」版本的衝突文件?
- 3. 版本比較
- 4. 版本比較JSON文檔
- 5. 文本比較/差異算法
- 6. 文本比較算法或程序?
- 7. 比較Powershell中的文件版本
- 8. 比較版本中產品版本
- 9. simhash like算法來比較兩個文本文件
- 10. 比較文本和文本文件
- 11. 文件版本比。產品版本
- 12. 比較版本(字符串)
- 13. JavaScript網頁版本比較
- 14. yum比較版本如何?
- 15. 源文件安全版將舊版本與當前版本進行比較
- 16. 基本性能比較
- 17. 基於C#的文本比較
- 18. bash腳本基本字符串比較
- 19. 如何比較本地和版本庫SVN修訂版本?
- 20. Python來比較基於多個鍵的巨大文本文件
- 21. 比較算法
- 22. DUnit比較兩個文本文件並顯示比較
- 23. 比較文本文件的兩個版本,並找到Ruby的增加/刪除?
- 24. 比較三個文本文件
- 25. 比較兩個文本文件
- 26. 比較文本文件的字符串
- 27. delphi比較文本文件內容
- 28. 文本文件比較庫(MS許可)
- 29. 比較文本文件的列
- 30. Python文本文件比較和連接
他們是否文本文件? – BenCr 2011-04-05 10:56:57
任何類型的字節數組。文字,圖片等 – 2011-04-05 20:16:25