数据处理 · 更新于 2026-11-05 · 9 分钟阅读

文本、JSON、Word 和文件应该怎样比较

文本内容相同、JSON 语义相同和文件字节相同是不同结论。先按任务选择比较方式,再看差异路径或原始文件指纹,不能用一种结果替代另一种判断。

打开文本差异对比

操作步骤

  1. 1. 明确需要比较的对象

    文案和日志适合按行比较,接口数据适合按 JSON 结构比较,发布文件和重复文件核对适合直接比较文件字节。文本导入可能移除 BOM 或规范化换行,不应代替原始文件哈希。

  2. 2. 对照文本原文和忽略规则

    在文本工具左右粘贴或导入 UTF-8 文本,检查新增、删除和修改行。默认区分大小写和空白,可按需忽略行首尾空白或英文大小写。CRLF、CR、LF 统一比较,末尾是否存在换行仍有区别。每侧最多 10 万字符、5000 行,复杂差异超限会提示分段,而非返回不完整成功结果。

  3. 3. 区分 JSON 值变化与类型变化

    在 JSON 深度对比中,数字 1 和字符串“1”属于类型变化;对象字段顺序不同不会报差异;数组按索引比较,插入元素可能使后续多个位置变化。新增或删除一个对象子树按一项记录,不会把它错误地当成多个独立业务事件。

  4. 4. 核对数字精度和字段路径

    工具按数字原文精确比较,9007199254740993 和 9007199254740994 不会因 JavaScript 浮点精度被误判相同;1、1.0 和 1e0 视为同值。字段路径采用 JSON Pointer:斜线写为 ~1,波浪号写为 ~0,空路径代表根节点。重复字段和无效 JSON 会明确报错。

  5. 5. 对比 Word 正文与表格文字

    Word 文档对比需要上传两份 .doc/.docx,服务器临时解析正文与表格文字,不永久保存。每份最大 20 MiB,提取文字最多 10 万字符、5000 行,超限报错而非截断。可忽略行首尾空白、英文大小写或空行,逐处定位差异,并下载含完整文字的 JSON 报告。图片、格式、页眉页脚、批注、注释、文本框与嵌入对象不参与对比;未处理修订需先接受或拒绝。

  6. 6. 校验文件而不是文件名称

    文件哈希工具可选择或拖入一到两个任意格式文件,默认 SHA-256,也支持 SHA-384 和 SHA-512。按固定大小分块读取原始字节,不上传、不解码文本,单文件最大 1 GiB。修改文件名不改变字节摘要;BOM、换行或元数据改变则通常会改变摘要。可取消并重新开始计算。

  7. 7. 保留报告并理解判断边界

    文本和 JSON 结果支持筛选分页;Word 使用连续的并排全文视图,可搜索、定位上一处或下一处差异、展开和复制完整文字,长行横向滚动。完整 JSON 报告保留未被界面截短的值,不受筛选影响。文件指纹核对需使用相同算法并保留原件;一致不证明作者、来源、合法授权或文件安全,不能当作司法鉴定结论。

实例与预期结果

两份 Word 的价格与交付日期变化

自行新建两份 .docx,分别写入下方两组文字;合成内容不包含真实业务信息。

  • Word 文档对比
  • 左侧:原始文档,右侧:修改后文档
  • 先关闭忽略规则

示例输入 / 准备

左侧:
项目:设备维护
价格:100 元

右侧:
项目:设备维护
价格:120 元
交付:周五

预期结果 / 核对项

并排文字视图标记价格行的修改及交付行的新增。
左右分别保留提取后的行号;可跳转上一处/下一处差异、搜索、复制全文及下载完整报告。

每份最大 20 MiB;只比较正文与表格文字,不比页眉页脚、批注、图片、版式等。提取后的换行不等于 Word 页码。

Word 文字对比示例:左侧旧版价格 100,右侧新版价格 120,新增交付日期一行
合成文字示例;高亮表示提取后的文字差异,不代表 Word 原始排版。

JSON 字段值和类型变化

对象键顺序不参与比较,数组按索引比较。

  • JSON 深度对比
  • 左、右分别粘贴有效 JSON

示例输入 / 准备

左侧: {"price":100,"id":1}
右侧: {"id":"1","price":120}

预期结果 / 核对项

/price: 数字值由 100 变为 120
/id: 类型由数字变为字符串

1 与 1.0 视为同值,但 1 与 "1" 不同。路径采用 JSON Pointer;完整报告不受当前筛选和分页影响。

同名文件也要核对原始字节

本地选择文件 A,可选文件 B;原文件不会上传。

  • 文件哈希校验
  • SHA-256
  • 需要时展开已有指纹核对

示例输入 / 准备

文件 A: 任何本地样例文件
文件 B: 文件 A 的原样副本

预期结果 / 核对项

原样复制且字节未变时:两个 SHA-256 一致。
修改文本、换行或元数据后:通常不同。

单文件最大 1 GiB。文件名相同不证明内容相同;指纹相同也不能证明来源、安全或真实性。

遇到问题怎么办

Word 无法比较或提示修订

可能原因:文件可能加密、含未处理修订、格式不支持,或超过 20 MiB/10 万字符/5000 行限制。

处理方法:保留原件,在 Word 中处理修订并另存受支持副本;超限时按有意义的章节分段。不应将解析失败视为内容相同。

肉眼相同却出现文本差异或文件哈希不同

可能原因:可能存在空白、末尾换行、编码、元数据或未参与文字比较的对象差异。

处理方法:按目的选择文本、JSON、Word 或字节哈希。记录忽略规则,不为消除差异而随意改原文件。

风险与限制

  • 文本、JSON 和文件哈希在浏览器本地处理;Word 文档则上传服务器临时解析。不保存浏览器历史,报告可能含敏感文字和文件名,请妥善保管。
  • JSON 不忽略数组顺序,不自动把字符串转换成数字;极端数字指数或超过 5000 项差异时会拒绝比较。
  • 文本和 JSON 表格的长单元格只预览前 1000 字符;Word 并排视图保留全文、长行横向滚动,复杂长行可能按整行标记。完整值也可下载报告核对,Word 内容相同不代表格式、元数据或原始字节相同。

常见问题

JSON 对比相同为什么文件 SHA-256 不同?

JSON 对比忽略对象键顺序和数字写法等语义等价差异,文件哈希比较原始字节。排版、编码、BOM 和换行都可能使文件摘要不同。

文件名一样就一定是重复文件吗?

不是。文件名和大小都不能单独证明内容一致。使用相同哈希算法核对原始字节,仍应理解密码学摘要不能证明文件来源和真实性。

比较结果下载只包含当前页吗?

不是。报告使用完整比较结果,不受页面筛选和分页影响;单元格的预览截短也不会修改报告原值。

相关阅读