DiffMate

支持的文件格式详细指南

详细介绍DiffMate可以比较的文件格式、各自的特点和限制。

TXT(纯文本)

TXT文件是最基本的文本文件格式。它只包含纯文本,没有格式信息,几乎所有操作系统和程序都可以读取。

DiffMate逐行比较TXT文件。精确比较每行内容,用颜色编码添加、删除和修改的行。对于修改的行,在字符级别精确高亮显示哪些字符发生了变化。

支持自动编码检测。依次尝试UTF-8、EUC-KR(CP949)、ISO-8859-1、UTF-16LE和UTF-16BE等编码,以最优编码读取文件。包含BOM(字节顺序标记)的文件也能正确处理。

TXT比较需要注意的是换行方式。如果Windows(CRLF)和Mac/Linux(LF)的换行不同,相同内容也可能显示为不同。最好比较在同一操作系统上创建的文件。

文件大小没有限制,但由于依赖浏览器内存,超过几十MB的文件处理时间可能较长。普通文本文件(几MB以内)几乎即时完成比较。

CSV(逗号分隔值)

CSV以逗号分隔存储数据,广泛用于数据库导出、电子表格共享和API数据交换。

DiffMate基于文本比较CSV文件。每行作为一行进行逐行比较。自动识别各种分隔符,包括逗号(,)、制表符( )和分号(;)。

CSV比较的优势是无需电子表格软件即可快速识别数据差异。在数千行数据中,用颜色编码显示变更的单元格、添加的行和删除的行。

注意,CSV中包含逗号的单元格必须用双引号括起来才能正确解析。比较有无标题行的CSV时,解释结果需要注意。

在编码方面,包含韩语的CSV通常保存为EUC-KR格式。DiffMate自动检测和处理。

XLSX(Microsoft Excel)

XLSX是Microsoft Excel的默认文件格式,具有复杂的结构,可以包含多个工作表、公式、格式和图表。

DiffMate使用SheetJS库解析XLSX文件。将第一个工作表的数据转换为文本后逐行比较。每行中的单元格数据用制表符分隔进行比较。

比较的目标是单元格中的显示值。对于包含公式的单元格,比较的是计算结果,而非公式本身。单元格格式(字体、颜色、边框等)不在比较范围内。

当前限制: 只比较第一个工作表。要比较多工作表文件中的特定工作表,请先将该工作表保存为单独文件。

图表、图像和数据透视表等非文本元素不参与比较。只比较纯单元格数据。

合并的单元格会被拆分后比较。视觉布局可能与原始文档不同。

也支持XLS(旧版Excel格式),因为SheetJS可以处理两种格式。

PDF(便携式文档格式)

PDF是在保持文档布局的同时共享的格式,最常用于合同、报告、手册等正式文件。

DiffMate使用pdf.js(Mozilla开发的PDF渲染库)从PDF中提取文本。按Y坐标排列每页的文本元素形成行,然后进行比较。

由于PDF文本提取的特性,提取的文本换行可能与原始文档不同。这是因为PDF本来是打印格式,文本流信息不能完美保留。

无法从扫描的PDF(由图像组成的PDF)中提取文本。只有经过OCR(光学字符识别)处理的PDF才能进行文本比较。需要先使用Adobe Acrobat或其他OCR工具添加文本层。

加密的PDF可能限制文本提取。比较前需要解除密码或使用允许文本复制的PDF。

对于包含表格的PDF,单元格分隔可能不准确。需要精确比较表格数据时,建议先将PDF转换为Excel或CSV后再比较。

多栏布局的PDF文本提取顺序也可能与预期不同。单栏布局的PDF提供最准确的比较结果。

格式比较表

一目了然地比较各文件格式的特点:

TXT:最准确的比较,自动编码检测,无文件大小限制 CSV:准确的逐行比较,自动分隔符识别,自动编码检测 XLSX:第一个工作表的单元格值比较,不支持格式/图表比较,也支持XLS PDF:基于文本的比较,可能存在布局差异,不支持扫描PDF

所有格式的共同特性: 所有处理在浏览器中进行,文件永远不会传输到外部服务器。字符级高亮显示精确差异,比较结果可以保存为文件。

立即开始比较