# BatchTextCoder **Repository Path**: firexmoon/batch-text-coder ## Basic Information - **Project Name**: BatchTextCoder - **Description**: 文本文件编码批量转换工具 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-26 - **Last Updated**: 2025-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文本文件编码批量转换工具 这是一个用于批量转换文本文件编码的 Python 工具。它能够自动检测文件编码,并将文件转换为指定的目标编码。特别适合处理中文文本文件的编码转换。 ## 功能特点 - 自动检测文件编码 - 支持批量处理目录下的所有 txt 文件 - 智能处理中文编码(GB2312/GBK/GB18030) - 详细的日志输出 - 保留原文件,生成新的转换后文件 - 支持递归处理子目录 ## 支持的编码 - UTF-8 - GB18030(兼容 GB2312 和 GBK) - Big5 - UTF-16 ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 使用方法 基本用法: ```bash python convert_encoding.py 目录路径 目标编码 ``` 示例: ```bash # 将指定目录下的所有txt文件转换为UTF-8编码 python convert_encoding.py ./documents utf-8 # 将指定目录下的所有txt文件转换为GB18030编码 python convert_encoding.py ./documents gb18030 ``` ## 工作流程 1. 扫描指定目录下的所有 .txt 文件 2. 对每个文件进行编码检测 3. 如果文件编码与目标编码不同,则进行转换 4. 生成新的文件,文件名包含目标编码信息 5. 保留原始文件不变 ## 输出文件命名规则 转换后的文件命名格式为: ``` 原文件名_目标编码.txt ``` 例如: - 原文件:`test.txt` - 转换后:`test_utf-8.txt` ## 注意事项 1. 程序会保留原始文件,不会删除或修改原文件 2. 如果文件已经是目标编码,将跳过处理 3. 对于无法检测或转换的文件,会在日志中记录错误信息 4. 建议在转换前备份重要文件 5. 程序会自动将 GB2312 和 GBK 编码识别为 GB18030 以提供更好的兼容性 ## 日志输出 程序会输出详细的日志信息,包括: - 文件编码检测结果 - 转换进度 - 错误信息(如果有) - 处理结果统计 ## 错误处理 程序包含完善的错误处理机制: - 自动尝试多种编码 - 详细的错误日志 - 跳过无法处理的文件 - 继续处理其他文件 ## 依赖项 - Python 3.6+ - chardet >= 5.0.0 ## 许可证 MIT License