# encodetool **Repository Path**: picksan/encodetool ## Basic Information - **Project Name**: encodetool - **Description**: 文件编码一键切换工具 支持 UTF-8 与 GBK 之间的批量/单文件编码转换。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-30 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 文件编码一键切换工具 支持 UTF-8 与 GBK 之间的批量/单文件编码转换。 ## 启动方式 ```bash # 交互式菜单(推荐) python encode_conv_tui.py # 命令行 python encode_conv.py <方向> [选项] ``` ## 交互式菜单 运行 `encode_conv_tui.py` 后按菜单选择: 1. 选择转换方向(GBK→UTF-8 或 UTF-8→GBK) 2. 选择范围:当前目录 / 指定目录 / 单文件 3. 查看预览列表(超过 30 行截断,完整列表写入 `conv_preview.log`) 4. 选择是否备份(默认推荐备份) 5. 确认执行 ## 命令行用法 ```bash # 预览(不执行转换) python encode_conv.py gbk-to-utf8 python encode_conv.py utf8-to-gbk # 执行转换 python encode_conv.py gbk-to-utf8 --execute # 指定目录 python encode_conv.py gbk-to-utf8 --dir /path/to/project --execute # 转换单文件 python encode_conv.py utf8-to-gbk --file /path/to/file.pc --execute # 不备份 python encode_conv.py gbk-to-utf8 --execute --no-backup # 自定义备份目录 python encode_conv.py gbk-to-utf8 --execute --backup-dir /path/to/backup # 自定义文件后缀 python encode_conv.py gbk-to-utf8 --ext .pc .h .c --execute # 生成白名单示例文件 python encode_conv.py --init-ignore ``` ## 命令行参数 | 参数 | 说明 | |------|------| | `方向` | `gbk-to-utf8` 或 `utf8-to-gbk` | | `--dir` | 扫描根目录(默认当前目录) | | `--file` | 转换单个文件 | | `--ext` | 覆盖默认后缀,如 `--ext .pc .h` | | `--execute` | 执行转换(不加则为预览) | | `--no-backup` | 跳过备份 | | `--backup-dir` | 自定义备份目录(默认 `./conv_backup`) | | `--log` | 日志文件路径(默认 `conv_encoding.log`) | | `--ignore-file` | 白名单文件路径(默认 `.convignore`) | | `--init-ignore` | 生成 `.convignore` 示例文件 | ## 白名单 在扫描目录(或父目录)下创建 `.convignore` 文件,跳过不需要转换的文件和目录。 每行一个 glob 模式,`#` 开头为注释: ``` # 跳过目录 conv_backup/** .git/** docs/** # 跳过文件 svc.txt *.bak ``` ## 默认支持的文件后缀 `.pc` `.h` `.c` `.cpp` `.hpp` `.pas` `.dfm` `.dpr` ## 日志文件 | 文件 | 说明 | |------|------| | `conv_preview.log` | 预览完整列表(TUI 模式,超过 30 行时生成) | | `conv_encoding.log` | 执行日志,含时间戳、转换结果、白名单过滤列表 | ## 备份 执行转换时默认备份原文件到 `conv_backup/` 目录,保持原目录结构。可通过 `--no-backup` 跳过。