一张表对号入座
| 你要做什么 | 怎么做 | 用这个 |
|---|---|---|
| 改了配置文件,想确认到底改了哪几行 | 旧版贴左边、新版贴右边,红色是删掉的行,绿色是新增的行 | 文本差异对比 |
| 两版代码 / 脚本 / SQL 找差异 | 逐行对比直接标出改动块,改动块少说明改动集中,可逐块核对 | 文本差异对比 |
| 两段文案 / 两个版本合同找不同 | 对比前先各做一次文本清理(统一空格、去重复行),再比省得全是假差异 | 文本去重清理 文本差异对比 |
| 接口返回的 JSON 和预期不一致 | 先各自格式化再对比,缩进对齐后差异一眼可见 | JSON 格式化 文本差异对比 |
| 整理名单 / 日志,重复行太多没法比 | 先去重清理、顺手查行数,再拿干净版本去对比 | 文本去重清理 字数统计 |
| 写文档想预览 Markdown 排版 | 对比工具只管找差异,排版预览用专门的 Markdown 预览工具 | Markdown 预览 |
对比前要懂的四个要点
对比的基本原理:找最长公共序列
逐行对比工具先找出左右两份文本里最长的公共行序列,剩下的行就是「删掉的」(红色)和「新增的」(绿色)。所以改动越集中,结果越清晰;全文重排过的两份文本对比出来会满屏红绿,先排序再比更有效。
大量假差异来自看不见的字符
换行符(Windows 的 CRLF 和 Mac/Linux 的 LF)、行尾空格、全角半角、不可见零宽字符,都会让肉眼看一样的行被标红。先用文本清理工具统一格式,再对比,结果立刻干净很多。
编码不一致先转码再比
一边是 UTF-8 一边是 GBK 时,对比结果会出现整段乱码假差异。看到成片问号或方块字,先确认两边编码一致,而不是反复重比。
对比全程不上传,敏感文本放心贴
对比在浏览器本地完成,合同条款、配置里的密钥、内部日志都不会离开你的电脑,断网状态下同样可用。
为什么你对比出来的结果没法看
大概率是下面五个坑之一,逐个对照:
- 整段贴成了一行:从网页或 Word 里复制的文本常被压成一行,一比就整段标红。先按行整理好(每行一条),再贴进对比框。
- 换行符不一样:Windows 和 Mac 导出的文件换行符不同,肉眼一样、结果满屏红绿。先用清理工具统一再比。
- 行尾空格和全角半角:看起来一样的一个空格,可能是全角也可能是行尾多了半角,清理工具一键抹平这类假差异。
- 顺序不同就开比:两份只是行顺序不同(比如导出的名单),diff 会当成大面积改动。先各自排序,再对比,剩下的才是真差异。
- 编码不一致:一边 UTF-8 一边 GBK,结果全是乱码。先统一编码,别把乱码当差异逐行核。
三条实用建议
- 对比敏感内容(合同、配置里的密钥、内部日志)只用本地处理的工具,本站全部在浏览器里完成,断网也能用。
- 改动核对按「红绿成对块」逐块看,比逐行扫快得多;块少说明改动集中,块多先怀疑假差异。
- 把对比结果截图留档,改了什么、什么时候改的,回溯时有据可查。
常见问题
文本对比工具会把内容上传到服务器吗?
不会。本站对比在浏览器里完成,左右两栏的内容只在内存里处理,服务器收不到也存不了。合同、配置、内部文档可以放心贴。
看不懂红红绿绿的结果怎么办?
红色行是左栏有、右栏没有(被删除或改掉),绿色行是右栏新出现的。成对出现的红绿块通常是一处「修改」,纯绿块是纯新增,纯红块是纯删除。
两份文本明明看起来一样,为什么全是差异?
十有八九是看不见的字符:换行符不同(CRLF 对 LF)、行尾空格、全角半角、编码不一致。先用文本清理工具统一格式和编码,再重新对比。
能对比两个很大的文件吗?
几千行没问题;几万行以上建议先裁剪出真正变化的段落再比——公共部分越多,对比算法和你的眼睛都越轻松。
Word 自带修订功能,为什么还要在线对比?
Word 修订适合边写边改的协作;拿到两份已经定稿的文件找差异,逐行对比更快更直观,也不用装软件、不用考虑对方用的什么版本。
能对比 Excel 表格或 PDF 吗?
不能直接比。Excel 先复制粘贴成文本(或另存 CSV),PDF 先把文字复制出来,再贴进对比工具。表格对比前先按同一列排序,结果更可读。
配着站内工具一起用
文本对比之外还常用到:文本差异对比(逐行找差异)、文本去重清理(去重、去空行、统一空格)、字数统计(查行数与字数)、Markdown 预览(文档排版预览)、JSON 格式化(接口数据先格式化再对比)。