文本对比工具
在你的设备上运行,不会发送任何内容。一切都在您自己的设备上完成。您输入的任何内容都不会被发送到任何地方。
原始文本
修改后文本
差异
在两侧都粘贴文本以查看差异
在浏览器本地逐行高亮显示两段文本之间的差异。
此工具逐行比较两段文本,并高亮显示新增、删除或保持不变的内容——这与代码编辑器的差异视图或版本控制的变更日志背后的基础技术相同。它在您的浏览器中完整运行一种经典的最长公共子序列算法:您粘贴的任何内容都不会被上传到任何地方。
常见问题
为什么修改一个单词会显示为整行被删除又重新添加?
此工具按行而非按词进行比较——因此即使一行中只有一个字符发生变化,也会显示为其旧版本被删除、新版本被添加,因为整行内容已不再完全相同。即便没有行内的逐词高亮,这仍然有助于准确定位哪些行发生了变化。
“忽略空白字符”具体忽略了什么?
在比较之前,它会去除每行开头和结尾的空格,并将内部连续的空白字符压缩为一个空格——因此仅在缩进、行尾空格或单词间多余空格上存在差异的行会被视为相同。
此工具能比较代码,而不仅仅是纯文本吗?
可以——比较完全基于逐行文本匹配,因此对源代码、配置文件或任何其他面向行的文本都以相同方式工作。它不理解任何特定语言的语法,而这正是它能对所有语言同样有效的原因。
'忽略大小写'选项具体改变了什么?
启用后,每一行在比较之前都会先转换为小写,因此'Hello'和'hello'会被视为同一行,不会被标记为差异。结果中显示的每一行仍保留其原始大小写,只是比较过程本身忽略了大小写,显示内容并不受影响。
为什么会收到文本过大的警告?
比较算法会为两段文本中的每一对行建立一个表格单元,因此随着文本变长,内存和时间开销会迅速增加。一旦任意一侧超过2000行,工具就会提示比较可能需要一点时间并占用明显内存,因为一切都在您的浏览器标签页中运行,而不是在服务器上;不过您仍然可以继续,这只是一个提醒。
面向开发者:在 URL 中打开此页面并附带 `original` 和 `modified` 参数 - 例如 gizke.com/diff?original=hello world&modified=hello there - 两侧内容都会自动预填。大多数访问者不需要这个功能;它用于直接链接到一个可用的现成对比。