专注批量处理软件
工具说明

批量文档乱码修复工具教程

一可软件 · 工具说明批量文档乱码修复工具教程
批量文档乱码修复工具教程

功能关键词:中文乱码修复、文本编码转换、Office文档修复、批量处理报告、修复前后预览。

工具概述

批量文档乱码修复工具用于处理由UTF-8、GBK、Big5等编码的误读引起的中文乱码。既可以对纯文本重新解码,也可以尝试逆向恢复已保存为乱码文本的文本,适合整理字幕、小说、日志和办公文档。

本页面提供自动或强制源编码、目标编码、扩展名筛选、智能逆向修复、仅输出已更改的文件、试运行、报告和预览比较。乱码修复基于内置候选项和评分进行选择,无法保证恢复已经丢失的文本。

工具截图

批量文档乱码修复工具的主界面。包含源与输出、编码与扩展名、智能修复、试运行、预览、日志的操作项
自动检测、UTF-8、智能逆向修复、生成报告默认启用,本机默认为8线程,输入和输出为空。

主要功能

  1. 同时接受多个文件或文件夹,根据需要遍历子目录,并另行保存已修复的副本。
  2. 自动判断纯文本编码,也可以强制指定UTF-8、GBK、GB18030、Big5、UTF-16或Shift-JIS。
  3. 以UTF-8、UTF-8+BOM、GBK、GB18030、ANSI系统编码或UTF-16输出纯文本。
  4. 对于以可逆方式错误解码的文本,最多尝试2次基于评分的修复,不将替换字符视为可恢复的原始字节。
  5. 处理DOCX中可访问的文本节点、XLSX中的文本单元格/工作表名称/批注,以及PPTX中的文本和表格等对象。
  6. 预览单个文件修复前后的文本;试运行进行扫描和分析而不生成已修复的副本,并可保留CSV报告。
  7. 根据扩展名、疑似二进制检测和更改条件筛选输出,并提供1~64个并行线程。
  8. 自动写入CSV处理报告,并可打开输出目录、复制失败列表、清除界面日志。

使用前的准备

请准备纯文本或DOCX、XLSX、PPTX文档;使用说明和实现不支持旧格式的DOC、XLS、PPT,也不提供PDF内的乱码修复或扫描图像的OCR修复。

请准备另一个可写入的保存目录。本页面要求必须填写输出,输出不能与所选的输入文件夹相同,也不能放在输入文件夹内。

文件格式字段默认包含文本、代码、字幕和3种Office格式,可以使用半角逗号进行调整。仅在知道原始文本编码时使用强制指定源编码;正式开始时会重新验证软件授权。

详细操作步骤

1. 添加处理对象并选择另一个输出目录

在“路径设置”中点击“浏览文件”,选择一个或多个文档;再次选择文件会进行追加,并根据路径去重。点击“浏览文件夹”会将当前列表替换为该目录。也可以拖入文件或目录进行添加,或使用半角分号手动输入多个路径。

在保存目录一行点击“浏览”,选择必需的结果文件夹。如果输入包含文件夹,输出不能与该文件夹相同,也不能放在其内部;选择另一个新目录可便于区分原件和副本。

如果需要子目录中的所有文件,请勾选“遍历子目录”,并根据需要勾选“保留原始路径结构”。未勾选遍历时只检查当前层级,取消勾选遍历时也会取消勾选保留结构;保留结构基于各个源内的相对层级,不会自动按各自的根目录名称对多个源进行分组。

对通过浏览添加的相同路径去重,并不意味着完全消除父子源的重叠。请避免同时选择父目录及其子目录,以免重复枚举同一个文件。

路径设置中已启用遍历,保留结构可用,源和输出仍为空,尚未加载文档。
图1:路径设置中已启用遍历,保留结构可用,源和输出仍为空,尚未加载文档。

2. 区分纯文本和Office,选择源编码和目标编码

源编码默认为“自动检测(推荐)”。如果已确认纯文本的原始编码,可以展开菜单,选择强制指定UTF-8、GBK、GB18030、Big5、UTF-16或Shift-JIS;不确定时,强制使用错误的编码可能产生替换字符,因此请先保持自动。

自动处理路径优先考虑BOM、可严格解码的UTF-8和候选项的评分,检测库也可以参与判断。小于20 MiB的文本会读取全文,更大的文本则先对开头的512 KiB进行采样,并按块处理;自动检测也可能误判编码,不能视为恢复保证。

目标编码默认为UTF-8,也可使用UTF-8+BOM、GBK、GB18030、ANSI(系统默认)、UTF-16。ANSI在Windows上使用系统代码页,并不等同于固定的GBK;无法用GBK或系统编码表示的字符可能被替换。

这两个编码选项适用于纯文本。DOCX、XLSX、PPTX会在按照各自文档结构更改文本后以原格式保存,不会仅因选择了GBK就变成GBK文本文件。

源编码菜单显示自动和6个强制指定选项,目标编码位于右侧,目前尚未更改选择。
图2:源编码菜单显示自动和6个强制指定选项,目标编码位于右侧,目前尚未更改选择。

3. 调整文件格式、逆向修复和输出筛选

“文件格式”中使用半角逗号列出扩展名,可带点也可不带点,不区分大小写;留空时使用默认列表,并不代表所有格式。如果只需要处理字幕或文本,请改为对应的扩展名;请勿将旧格式的Office或二进制文件当作文本强制修复。

“智能乱码逆向修复”默认勾选,在纯文本正确解码后仍会继续尝试可逆的乱码恢复,仅在评分改善时采用。此开关也影响预览;正式的Office修复分支始终执行内置的文本逆向处理,取消勾选此复选框也不会禁用Office文本修复。

“仅输出已更改的文件”默认关闭。对于文本,内容更改或输出字节更改均视为更改;对于Office,则根据检测到的文本修复数量进行判断。对于大文本,编码更改按编码系列判断,仅有BOM差异可能被视为无需转换,因此不能用作严格的字节差异筛选器。

“处理疑似二进制文件”默认关闭,建议保持此设置,以避免将非文本按编码写入;这只是基于内容特征的判断,并非文档格式转换器。“并行线程”的范围为1~64,根据CPU数量,默认为2~8,本机显示为8;对于机械硬盘或单个大文本文件,可按照提示使用1~2。

整个参数区域用框标出了智能修复、更改筛选、二进制文件、试运行、报告和线程相关选项的位置。
图3:整个参数区域用框标出了智能修复、更改筛选、二进制文件、试运行、报告和线程相关选项的位置。

4. 实际使用时,先了解预览和试运行,再决定是否开始

“预览比较”读取单个文件,显示修复前后的文本;存在多个有效文件时仅使用第一个文件,没有文件时可以临时选择一个。文本预览最多读取2 MiB,最多显示约20,000个字符;对于Office,会提取可访问的文本,预览并非原始布局的渲染,也不显示按目标编码重写后对字节的影响。

要先进行批量分析,请勾选“试运行(不生成已修复的文件)”,根据需要保持勾选“生成处理报告”,然后点击“开始”。试运行也会执行读取、解析和修复分析,可能创建输出子目录或写入CSV,因此并非静态查看。本教程未点击预览或开始,也未执行试运行。

实际运行前,请确认源、单独的输出、当前编码、扩展名、筛选器和试运行状态。要生成已修复的副本,请取消勾选试运行;如果保持勾选,统计中的成功表示分析完成,不能作为查找已修复文件的依据。

需要结束处理时,请点击“停止”。程序会停止添加新任务,并等待正在进行的任务结束;大文本会在块之间检查停止,但可能留下已写入的不完整副本,通用的结束消息也仍称为“完成”。停止后,请通过日志确认已处理的范围,不要将进度或消息视为全文完整性的确认。

预览比较以及开始和停止的操作项;试运行选项已显示,目前仍处于未处理状态。
图4:预览比较以及开始和停止的操作项;试运行选项已显示,目前仍处于未处理状态。

5. 检查副本和CSV报告,并复制失败列表

处理后的副本位于保存目录中,不保留结构时会汇总输出,对于已经存在或在本次批量处理中已被预留的同名目标,会附加_1等编号。勾选保留结构时,文件会写入原始相对路径,此分支不统一对同名文件编号,已有的同名输出可能被覆盖;对于多个源,建议分开输出批次。

“生成处理报告”默认启用,存在实际候选项时,会在保存目录中写入处理报告_时间.csv,包含序号、结果、源文件、输出文件、扩展名、消息、是否试运行、时间等字段。报告如已有同名文件,会添加另一个编号;试运行时输出文件列为空。

点击“打开输出目录”,检查副本和CSV。日志仅保留约200条;“复制失败列表”会将当前累积的错误记录复制到剪贴板,便于保留处理失败的原因。“清除日志”也会清除失败列表,因此请在清除前复制所需内容。

即使是试运行,也请选择新的空输出目录。保留结构、仅输出更改并复用旧输出时,Office的跳过分支可能删除同名目标文件;不能将软件的“不生成已修复的文件”选项理解为绝不触碰输出磁盘。

进度日志以及打开输出目录、复制失败列表、清除日志的操作项;副本和报告均未生成。
图5:进度日志以及打开输出目录、复制失败列表、清除日志的操作项;副本和报告均未生成。

主要参数说明

参数功能建议
源编码自动检测或6种强制编码仅限纯文本;仅在知道原始编码时强制指定。
目标编码UTF-8、BOM、GBK、GB18030、ANSI、UTF-16Office仍以原始文档格式保存。
文件格式扩展名列表。为空时使用默认值默认包含DOCX/XLSX/PPTX,会检查对应的处理依赖项。
智能乱码逆向修复对纯文本和预览尝试基于评分的逆向处理默认启用,正式的Office分支也仍会执行修复。
仅输出已更改的文件跳过被判定为无需修复/转换的文件输出可能少于源;对于BOM差异,请注意大文本中的判断。
处理疑似二进制文件允许文本分支继续处理疑似非文本的内容默认关闭。
试运行执行分析而不生成已修复的副本仍可能写入目录或报告;请使用新的空目录。
生成处理报告输出带UTF-8 BOM的CSV默认启用,保留批量处理的完整详情。
并行线程1~64,根据CPU,默认为2~8本机为8;磁盘较慢时请按照提示减少。
保留原始路径结构恢复源内的相对层级仅在遍历时可用;复用输出时请注意同名情况。

结果与保存

纯文本以目标编码写入,Office保留原扩展名,由对应的文档库重新保存。DOCX处理可访问的w:t文本节点等内容;XLSX处理文本单元格、可修复的工作表名称和批注,公式字符串不会作为普通文本更改;PPTX处理文本框、表格和组合形状中的文本。它并不修复图像中的文字、二进制损坏或所有Office对象。

预览的提取范围与正式处理并不完全一致,尤其是PPTX的表格、XLSX的批注等内容可能不显示在预览文本中。修复前后预览相同,仅表示在该提取范围内未找到评分更高的候选项,既可能是正常文本,也可能是当前规则无法识别的乱码。

处理使用候选编码和文本评分进行推测,不具备恢复丢失字符原始字节的能力。在文本中的替换字符、目标字符集不足、大文本分块输出等情况下,“成功”数量无法证明无损。原始文件留在源位置,实际操作时需要另行保存,并保留原件。

开始时会检查所列Office扩展名对应的处理依赖项;缺少python-docx、openpyxl或python-pptx时,页面会显示提示。如果只处理纯文本,可以从“文件格式”中删除不需要的Office扩展名。报告和日志需要结合试运行状态、停止状态、成功/跳过/失败数量一起阅读。

常见问题与使用建议

1. 是否支持DOC、XLS、PPT?

目前不支持旧格式的二进制Office;支持的格式为DOCX、XLSX、PPTX。

2. 将“文件格式”留空会处理所有文件吗?

不会,留空会恢复为默认扩展名范围。

3. 强制指定源编码与目标编码相同吗?

不同,源编码决定如何读取纯文本字节,目标编码决定如何写入这些字节。

4. ANSI始终是GBK吗?

不是,Windows使用当前系统代码页,不能将其视为固定的GBK。

5. 取消勾选智能逆向处理会禁用Office修复吗?

不会,此复选框控制纯文本和预览,正式的Office分支仍会执行文本逆向处理。

6. 试运行能保证不写入磁盘吗?

不能,虽然不生成已修复的副本,但会根据复选框的勾选情况创建输出目录并写入报告,复用输出还涉及同名清理路径。

7. 仅输出更改时,没有副本是否一定意味着原始文本正确?

不是,仅表示当前规则未发现更改,也可能是未被识别的乱码。

8. 所有同名输出都会编号吗?

平铺输出会预留名称并编号,但保留结构分支不会统一编号,因此需要为每个批次使用单独的目录。

9. 预览能完整显示文档布局和全文吗?

不能,这是有长度和提取范围限制的文本比较,并非Office布局预览。

10. 复制失败列表后可以清除日志吗?

可以,请先复制以便保留;清除日志也会清除当前的失败列表。

继续阅读

查看全部