文本差异对比

本地处理 · 数据不上传

逐行对比两段文本,清楚看到哪些行被新增、删除或保持不变。

原文
改后文本
+0 −0

粘贴原文和改后文本,逐行对比两者的差异。

文本差异对比是什么?

文本差异对比是一个快速、免费的在线工具,可以逐行比较两段文本,并清晰标出改动之处——新增的行用绿色、删除的行用红色、未改动的行用中性色,全部在你的浏览器里即时完成。

逐行差异(line diff)把每段文本看作一串行,找出把原文变成改后文本所需的最少插入和删除操作。其内部会计算两个行数组的最长公共子序列(LCS),再回溯结果,逐行判断每一行是被保留、从原文中删除,还是在新版本中新增。这与版本控制系统所用的 diff 算法属同一家族,因此输出方式正符合开发者的预期:以 “−” 开头的行只存在于原文,以 “+” 开头的行只存在于改后文本,两边都有的行则不带标记。

逐行差异在许多日常场景中都非常实用。代码评审时,你可以把一个文件的两个版本并排放在一起,立刻看清这次改动碰了哪些行,而不必通读整个文件。比较配置时——一个 .env 文件、一份 YAML 清单、一段 nginx 配置,或一个 JSON 文档——差异对比能让你一眼看出不同环境之间漂移了哪些键或值,而这往往正是 “在我机器上是好的” 这类问题的根源。写作者和译者用它来校对:把旧稿和新稿粘进来,确认只有预期的句子发生了变动。它同样适合比较日志片段、SQL 表结构,或任何你需要精确知道差异的两段文本。

读懂结果很简单:看带颜色的行就好。绿色 “+” 行是在改后文本中新增的,红色 “−” 行是从原文中删除的,顶部的汇总会给出新增与删除的总数,让你一眼掂量改动的规模。所有处理都在你的设备本地完成——文本不上传、不记录、不存储——因此对比私有源码、内部配置或机密文档都很安全。由于比较在本地进行,它也是即时的,无需往返服务器。

常见问题

差异是怎么判断出来的?

工具会把两段输入按行拆分,计算它们的最长公共子序列(LCS),再回溯该表,把每一行标记为未改动、从原文删除,或在改后文本中新增。由此得到最小的、版本控制风格的编辑集合。

这是按行对比还是按字符对比?

这是逐行对比:每一行作为一个整体来比较。如果某一行只改了一个字符,该行会显示为一行删除加一行新增,而不是在行内逐字符高亮。

我的文本会被上传吗?

不会。对比全部在你的浏览器里完成。原文和改后文本都不会离开你的设备,因此对比私有代码、配置或文档都很安全。

“+” 和 “−” 标记是什么意思?

带 “+” 的绿色行只存在于改后文本(新增);带 “−” 的红色行只存在于原文(删除);不带标记的行在两段文本中完全相同。

能对比的文本量有上限吗?

对于超大输入,工具会把对比上限设为每侧 3000 行,以保证速度并避免内存耗尽。对于普通文档和文件,你不会触及这个上限。