🌐 ZH

🆚 Diff Checker

将两段文本并排逐行比较。新增的行以绿色高亮,删除的行以红色高亮,修改的行还会进行精细的单词级高亮。

指南

了解更多

01

1. 什么是Diff(差异)比较

Diff是查找两段文本(或文件)之间差异的过程,广泛应用于代码审查、文档版本比较、配置文件变更核查、翻译校对等场景。通常按行比较,区分哪些行被新增、删除或修改内容。Git的git diff以及各种代码编辑器的对比功能都基于这一原理。该工具不会将文本发送到服务器,全部在浏览器中即时完成比较,因此即使是敏感的代码或文档也能安全查看。

02

2. 逐行比较 vs 逐词比较

逐行比较将整行作为一个单位,判断是否相同。而逐词比较则更进一步,精确指出修改的行中具体哪些单词发生了变化。例如"你好,很高兴见到你"变为"你好,谢谢你",逐行比较只会显示"已修改",而开启逐词高亮后可以精确看到"很高兴见到你"被删除,"谢谢你"被新增。该工具会对修改的行自动叠加逐词级高亮。

03

3. 忽略大小写与空格选项的使用

在比较仅缩进或行尾空格不同的代码,或仅大小写不同的文本时,这些细微差异如果被当作有意义的变更会使审查变得繁琐。开启"忽略空格"会将连续空格视为一个,并在比较前去除首尾空格;开启"忽略大小写"会将大写和小写视为相同。这在比较经过格式化工具处理的代码,或手动输入导致大小写不一致的文本时尤其有用。

常见问题

输入的文本会发送到服务器吗?
不会。该工具完全在浏览器中运行,不会调用任何后端接口,输入的文本不会离开你的设备。
为什么修改的行没有显示单词级高亮?
如果该行被完全替换为不相关的内容,LCS(最长公共子序列)算法无法将其与之前的行对齐,就只会显示为删除/新增。只有存在部分重叠内容时才会显示逐词高亮。
可以比较非常长的文本吗?
可以,但超过5万行时会显示警告。Diff算法的计算量随行数增加而增长,因此超大文件可能会暂时导致浏览器变慢。
比较内容会被保存吗?
输入的文本会自动保存到浏览器的localStorage中,刷新页面后仍会保留,但不会传输到其他设备或服务器。