文本差异对比
对比两段文本,立即并排查看新增、删除和未变更的行
原始文本
修改后
所有对比都在您的浏览器本地完成,文本绝不会发送到服务器。
差异
关于此工具
这款文本差异对比工具可比较两段文本,准确显示它们之间的变化。在左侧粘贴原始文本,在右侧粘贴修改后的版本,工具会将它们对齐,一目了然地展示新增、删除和未变更的行。新增行以绿色高亮,删除行以红色高亮,未改动的行保持中性色。你可以在统一视图(用 + 和 - 标记将所有内容堆叠在单列中)与并排视图(将两个版本放在对齐的两列中)之间切换。可选开关让你忽略空白、忽略大小写、忽略行尾空格,使表面差异不会干扰结果。统计区会持续显示新增、删除和未变更的行数。所有计算都在浏览器本地进行,即使是大型或敏感文档也不会离开你的设备。
使用方法
- 1 在左侧文本框粘贴或输入原始文本,在右侧文本框输入修改后的文本。
- 2 选择视图:并排视图按列比较,或统一视图查看单列 +/- 列表。
- 3 开启忽略空白、忽略大小写或忽略行尾空格,跳过表面差异。
- 4 查看高亮的行以及新增/删除/未变更的计数,需要时复制结果。
工作原理
工具将两段文本拆分为行,并用最长公共子序列(LCS)算法进行比较。LCS 会找出在两个版本中以相同顺序出现的最大行集合——这些就是未变更的行。不属于该公共子序列的内容随后被分类:仅出现在原始文本中的行算作删除,仅出现在修改后文本中的行算作新增。由于 LCS 确实是最大的,差异使用尽可能少的新增和删除来表示,因此结果显得自然,而不会把整段文字重新标记。忽略选项仅在比较时生效:为判断是否匹配会对行进行规范化(修剪、合并空白、转小写),但显示的始终是原文。不使用任何外部库,也不会上传任何内容。
常见问题
我的文本会被发送到服务器吗?
不会。整个比较过程都在你的浏览器中用 JavaScript 运行。原始文本和修改后的文本绝不会离开你的设备,因此对比私密代码、合同或笔记都很安全。你甚至可以断开网络,工具仍能正常工作。
统一视图和并排视图有什么区别?
统一视图把所有内容堆叠在单列中,用 + 标记新增行、用 - 标记删除行,类似 git 或 patch 的输出。并排视图把原始和修改后版本放在对齐的两列中,便于水平扫视匹配的行。两者展示相同的差异——选择更易读的即可。
忽略选项有什么作用?
忽略空白会修剪每行并合并连续的空格和制表符,使缩进变化不计入差异。忽略大小写将大写和小写视为相同。忽略行尾空格会去掉行末的空格和制表符。这些选项只影响行的匹配方式;显示的文本始终是你的原始输入。
差异是如何计算的?
它使用基于行的最长公共子序列(LCS)算法,与 diff 和 git 等工具同属一类技术。LCS 按顺序找出两个版本共有的最大行集合,再把其余部分标记为新增或删除,从而生成最少、最清晰的变更。
有大小限制吗?
为保持比较快速和页面流畅,每侧最多 5,000 行。如果超出,工具会提示你缩短输入。对于常见的文档、代码文件和文章,这个限制绰绰有余。
相关工具与用途
可将文本差异对比与字数统计(测量文本)、大小写转换(比较前规范大小写)以及 JSON 格式化(整理数据让差异更清晰)搭配使用。人们用它来审阅修改、比较代码或配置版本、校对草稿,以及准确发现两个修订版之间的变化。