文字差異檢查器:比較文字並標示變更
比較兩段文字,逐行或逐字標示每一處新增與刪除內容。
將原始文字貼到左側,將修改後文字貼到右側,選擇比較模式並按一下「比較」。差異完全在瀏覽器中計算。
文字差異檢查器:比較文字並標示變更
比較兩段文字,逐行或逐字標示每一處新增與刪除內容。
比較完整的行,最適合程式碼、設定檔和清單。
關於文字差異檢查器
靠眼睛比較文件的兩個版本既慢又不可靠——長段落中只改一個字,或百行檔案中只改一行,都很容易漏看。文字差異檢查器會自動完成比較:貼上原始版本與修訂版本,按一下「比較」,每個插入和刪除都會被標示,讓確切變更立即顯現。
工具提供兩種比較模式,因為不同內容需要不同粒度。「逐行」模式將每行作為比較單位,產生開發者熟悉的 Git 與程式碼審查工具中的統一差異樣式:新增行以綠色加號開頭,刪除行以紅色減號開頭,未變行以一般文字顯示作為上下文。它特別適合原始碼、設定檔、CSV 匯出、SQL 陳述式,以及任何行結構有意義的內容。「逐字」模式則比較連續文字中的個別字詞,在段落中以綠色標示新增字詞,以紅色刪除線顯示刪除字詞。對合約、文章、電子郵件、文件和譯文等散文內容來說,這是更合適的選擇,因為逐行比較會因兩個字的修改而標記整段。
在底層,檢查器使用經過充分驗證的 Myers 差異演算法實作——與大多數版本控制系統採用的方法相同——因此輸出的是簡潔合理的變更集合,而不是雜亂的字元堆。差異上方的摘要會統計變更片段,讓你在查看細節前快速了解文件的編輯幅度。
所有處理都在瀏覽器本機完成。文字不會上傳、儲存或記錄,因此適合處理法律協議、未發表手稿、內部政策或專有程式碼等機密資料。常見用途包括核對同事在共用文件中的修改、檢查系統間複製貼上是否悄悄改變內容、將 AI 改寫文字與原文對照、部署前審查設定變更,以及確認兩個匯出檔是否相同。如果兩段輸入完全一致,檢查器會明確告知,而不是顯示空白差異,讓乾淨結果不會產生歧義。
文字差異範例
兩種模式如何呈現典型編輯。
| 所做變更 | 差異輸出 | 最佳模式 |
|---|---|---|
| 在設定檔中間插入新行 | 兩行未變內容之間出現一行帶加號前綴的綠色文字 | 逐行模式——周圍行保持不變,方便查看上下文。 |
| 在一段散文中替換一個字 | 舊字以紅色刪除線顯示,新字在原位置以綠色標示 | 逐字模式——逐行模式會把整段標為已變更。 |
| 刪除合約中的一個條款 | 被刪除的字在句中以紅色刪除線顯示 | 逐字模式方便稽核細小的法律修改。 |
| 重新排列清單中的行 | 移動的行會分別顯示為一次刪除和一次新增 | 差異追蹤的是內容而非移動,因此移動看起來像刪除加插入。 |
如何使用文字差異檢查器
- 將文字的第一個版本貼到原始文字框。
- 將第二個版本貼到修改後文字框。
- 程式碼和結構化檔案選擇「逐行」,散文和段落編輯選擇「逐字」。
- 按一下「比較」,查看綠色新增、紅色刪除以及變更片段數量。
- 如果另一種粒度更適合內容,可切換模式再次比較。
文字差異檢查器常見問題
逐行模式和逐字模式有何不同?
逐行模式比較完整行,並輸出統一的 Git 風格差異,適合程式碼和設定。逐字模式在文字中逐字比較,因此段落中一個字的編輯只會顯示一個字的變化,而不會標記整行。
我的文字會上傳到伺服器嗎?
不會。比較完全在瀏覽器中透過 JavaScript 執行。兩段文字都留在你的裝置上,因此適合合約、接近憑證的設定及其他敏感內容。
差異使用哪種演算法?
工具使用 jsdiff 函式庫提供的 Myers 差異演算法實作,與 Git 和大多數版本控制系統使用的演算法同類,因此輸出最小變更集合。
為什麼移動的行同時顯示為刪除和新增?
傳統差異演算法追蹤內容而不是移動。當一行改變位置時,演算法會報告舊位置的刪除和新位置的插入;內容本身並未改變。
差異上方的計數器代表什麼?
它們依演算法報告結果統計變更片段,也就是連續的插入或刪除內容。一項統計新增片段,另一項統計刪除片段,幫助你快速了解編輯量。
可以比較很大的文件嗎?
在合理範圍內可以。演算法適合常見文件和原始碼。超大的輸入(數 MB)可能需要等待片刻,因為所有計算都在你的裝置上而非伺服器完成。