跳到主要内容
PulsarKit

文本对比

左右两栏,删除标红,新增标绿,每行里改动的词也会单独标出。

把文件拖到这里

.txt, .md, .csv, .json · 最大5 MB

如何对比

  1. 1

    两边各放一段文本

    粘贴进去,或一次拖入两个文件。

  2. 2

    选择对比的粒度

    按整行、单词或单个字符。

  3. 3

    查看差异

    也可以下载统一格式的.diff补丁。

忽略某些差异,改变的是匹配,不是文本

忽略大小写、空白或标点的选项之所以存在,是因为这些方面的差异通常不是你关心的差异:一行改了缩进,并不等于这行被重写了。这些选项改变的是用来对齐两段文本的依据。屏幕上显示的始终是原文,一个字符都不差,所以从结果里复制出来的是真实文本,而不是规范化后的版本。有些工具规范化的是显示内容,结果悄悄给了你一段哪里都不存在的文本。

三种粒度,回答三个不同的问题

按行对比回答哪些行移动了、出现了或消失了,适合代码、配置文件和CSV。按词对比是默认方式,还会显示改动行里具体哪些词变了,这正是文章需要的:一个段落只换了一个形容词,不应该看起来像整段重写。按字符对比用于单个字母都很重要的场合,比如标识符、序列号或网址;它特意不作为默认方式,因为用在普通文本上,结果会碎成满屏彩屑。

先删后加是一处修改,不是两处

一行被编辑后,在简单的diff里会显示为先删除一行、再新增一行,读者得在脑子里把两半拼起来才能看出改了什么。这里,删除后紧跟插入会合并成一个“已修改”行,旧文本在左,新文本在右,修改看起来就是修改。计数也按同样的逻辑:新增、删除和修改是三个独立的数字,而不是被夸大的一对数字。

匹配度百分比,以及它的基准

百分比是未改动的行数除以较长一侧的长度。分母很重要:如果一份一百行的文档增加到两百行,结果的一半是新内容;以原文为基准的话会报告百分之百匹配,而读者看到的却是一份大不相同的文档。下载结果得到的是统一格式补丁,也就是git apply和所有代码审查工具都认识的标准--- +++ @@格式,保留多少上下文由你设置。

两段文本都留在你的设备上

对比完全在浏览器中运行,包括diff库:它从本站获取,然后在本地执行。不上传任何内容,不保存任何内容,也无需账号。这一点在这里比在多数工具里更重要,因为对比一份文档的两个版本,通常意味着两份都是你不想外传的草稿。

常见问题

能直接对比两个文件,不用粘贴吗?

能,一次拖入两个文件,它们会按顺序填入左右两栏。支持文本、Markdown、CSV和JSON,每个最大5 MB。

百分比是什么意思?

未改动的行占两段文本中较长那段的比例。如果以较短的一段为基准,只要文档只是增加了内容,结果就会显示完全匹配。

为什么有些行标为“已修改”,而不是新增和删除?

因为实际发生的就是修改:删除后紧跟插入,就是一次编辑。把它们合并,可以并排看到这一行的新旧两个版本。

.diff文件有什么用?

它是标准的统一补丁格式。代码审查工具能读取它,git apply可以把改动重新应用到文件上。每处改动周围保留多少未改动的上下文可以调节。

忽略空白会改变我的文本吗?

不会。它只改变行与行之间的匹配方式。显示和复制的文本始终和你粘贴的完全一致。

每一侧最多能放多大的文本?

每侧最多5 MB或500 000个字符。更大的文档请先拆分。

内容会发送到服务器吗?

不会。两段文本都在浏览器中对比,从不离开浏览器。

相关工具