文本对比工具

逐行比较两段文本或两份文件,标出新增、删除与修改,并给出相似度与行数统计。全部计算在浏览器本地完成。


    

它如何工作

先把两段文本按换行拆成行数组,再用最长公共子序列(LCS)动态规划求出相同行的最大匹配。于是两边的行被分成三类:两边都有的(相同)、只在左边出现的(删除)、只在右边出现的(新增)。

对连续的一段「一删一增」会进一步合并显示,方便看出是改了什么。相似度用 2 × LCS长度 ÷ (旧行数 + 新行数) 计算,取值 0–100%。

为控制内存,当任意一侧超过 3000 行时自动切换为「前缀 + 后缀剥离」的快速模式:先剥掉首尾完全相同的行,只对中间差异区做 DP。这与 Git 的常见做法一致,结果对正常文件没有差别。

差异标记对照

标记颜色含义
无色两边完全相同的行
- 红底只在旧文本中存在(被删除)
+ 绿底只在新文本中存在(被新增)

常见问题

为什么看起来一样的行也被标成修改?

多半是行尾不可见字符不同,比如 Windows 的 \r\n 与 Linux 的 \n,或者行尾多了空格、用了全角空格。点击「忽略行首尾空白」再对比一次即可确认。本工具已自动忽略 \r

支持多大的文本?

两侧各 3000 行以内结果最精确。更大的文本会自动启用快速模式,只对差异区做精细比较,速度仍然很快。

文件会离开我的电脑吗?

不会。文件通过 FileReader 在本地读取后直接进入比较流程,页面没有任何网络请求,可以打开开发者工具的网络面板验证。

开源仓库与下载
← 返回知办库首页
GitHub 开源源码 Gitee 开源源码(国内) 夸克网盘下载 百度网盘下载
夸克提取码:8011 | 百度提取码:ydfa
查看绿色版下载页 →