Encoding Converter 多编码文本统一转换 Skill
功能概述
本 skill 用于自动检测文本文件编码并统一转换为目标编码。支持单文件和批量目录处理,适配多源异构科研语料的编码规整工作,解决乱码问题。
触发条件
当用户请求以下任务时,应使用此 skill:
- 编码转换/统一编码
- 乱码修复
- GBK 转 UTF-8
- 批量转换文件编码
- 文本编码规整
核心参数说明
必需参数
--input:输入文件或目录路径--output:输出文件或目录路径
可选参数
--target_encoding:目标编码,默认 utf-8--source_encoding:源编码,默认 auto 自动检测--recursive:是否递归处理子目录--file_extensions:要处理的文件扩展名--error_handling:编码错误处理方式--add_bom:是否添加 UTF-8 BOM
输入文件格式
支持文本文件或目录输入。目录模式下仅处理扩展名匹配的文本文件,不处理二进制文件。
使用方法
python scripts/run_encoding_converter.py \
--input <input_path> \
--output <output_path> \
--recursive true
python scripts/run_encoding_converter.py \
--input <input_path> \
--output <output_path> \
--source_encoding gbk \
--target_encoding utf-8
输出示例
[OK] Batch encoding conversion completed!
Input directory: <input_path>
Output directory: <output_path>
Target encoding: utf-8
Files processed: 50
Successfully converted: 48
Failed: 2
环境要求
- Python 3.8+
- 可选依赖:chardet
注意事项
- 自动检测可能不准确,建议对重要文件指定源编码。
- 二进制文件会被跳过。
- 转换后文件大小可能变化。
- 使用 replace 模式时,无法识别的字符会被替换为 ?。
- 原文件不会被修改,总是输出到新位置。
运行示例
# 进入仓库根目录,保证相对路径可用
$env:PYTHONIOENCODING='utf-8'
# 运行编码转换,把输入目录里的文本统一转成 UTF-8
.venv\Scripts\python.exe workspace/skills/encoding_converter/scripts/run_encoding_converter.py --input <input_path> --output <output_path> --recursive true