📊
免費文字差異對比
對比兩段文字,精確檢視變化內容。逐行顯示新增、刪除和未變更的行。
載入後可離線使用
上下文:
+3 已新增−2 已刪除2 未更改
差異
連結只分享你的選項,不含文字內容
+The quick brown fox leaps over the lazy dog.
−The quick brown fox jumps over the lazy dog.
Pack my box with five dozen liquor jugs.
+How amazingly quick daft zebras jump!
−How vexingly quick daft zebras jump!
The five boxing wizards jump quickly.
+Now is the time for all good men.
工作原理
文字比較使用直接在此工具中實現的手寫最長公共子序列(LCS)演算法——沒有外部 diff 庫。一切都在瀏覽器中執行;你的文字絕不會傳送到伺服器。
- 1將文字拆分為行每個文字方塊的內容按換行字元拆分為行陣列。可選的規範化(轉小寫、摺疊空白)會在比較前應用於這些陣列的副本,原始內容保留用於顯示。
- 2在 Uint32Array 中計算 LCS 表在型別化的 Uint32Array 中自底向上建立動態規劃表——時間和記憶體都是 O(m×n)。對於合計單元格數將超過 400 萬(約 16 MB)的輸入,演算法會自動回退為較粗粒度的塊比較,使頁面保持回應。
- 3在更改的行上進行單字級醒目提示當刪除的行後面緊跟插入的行時,會對這一對行按空白拆分的單字再執行一次 LCS。這會產生內聯醒目提示片段,準確顯示行內哪些單字發生了變化,而不僅僅是哪些行發生了變化。
- 4帶上下文摺疊的統一 diff 檢視操作列表以統一 diff 格式呈現,帶 +/− 字首和顏色標記。可設定上下文視窗(預設 3 行)之外的未更改行會摺疊為省略號。完整結果可以複製到剪貼簿或下載為純文字 .txt 檔案。