Agent Skills
返回列表
C 源文件编码保全

C 源文件编码保全

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_a8bb82de/c-encoding。

技能介绍

问题背景

在 Windows 或遗留 C 工程里,.c、.h 往往仍是 GB2312 或其它本地编码保存。Agent 若直接用 UTF-8 读写,或保存时统一成 UTF-8,中文注释会变成乱码;若强行改成 GB2312,又会破坏原本就是 UTF-8 的文件。需要的是:按文件真实编码读入、在统一编码下改内容、写回时仍用原来的编码。

技能如何工作

本技能把修改 C 源文件拆成固定四步,且 步骤 0 每次必做:

  1. 检测原编码:通过 Bash 调用 PowerShell,把检测结果写入 %TEMP% 下的临时文件。
  2. 修改前转 UTF-8:按步骤 0 的编码读入,再以 UTF-8 落盘,便于 Read / Edit 稳定处理文本。
  3. 正常改代码:在已是 UTF-8 的文件上做逻辑与注释修改。
  4. 修改后恢复原编码:再把 UTF-8 内容转回步骤 0 记录的编码,并清理临时文件。

检测范围包括 UTF-8(含/不含 BOM)、UTF-16 LE/BE、UTF-32、GB2312;检测失败时 默认按 GB2312 处理,以兼容老项目。

适用边界与注意

  • 强制范围:凡改动项目中的 .c、.h,都应走完整流程,不可跳过步骤 0 或省略恢复步骤。
  • 环境:编码转换依赖 PowerShell;路径建议用正斜杠 / 或双反斜杠 \\,整条命令用单引号包裹。
  • 结果预期:完成后文件编码与改前一致,而不是统一成某一种「项目标准编码」。

使用场景

  • 维护仍用 GB2312 保存的嵌入式 C 工程,需要在不改乱码的前提下改驱动里的中文注释
  • 在 Windows 上让 Agent 改 `.h` 头文件接口说明,改完后磁盘编码须与改前检测结果一致
  • 批量调整老项目 `.c` 实现时,先转 UTF-8 编辑再按步骤 0 记录的编码写回
  • UTF-8 与 GB2312 混用的 C 仓库里,单次改动单文件也要走检测—编辑—恢复四步流程

适合人员

  • 维护 Windows 下 Visual Studio 老 C 项目、注释多为 GB2312 的固件工程师
  • 接手编码不统一的历史 C 代码库、需 Agent 改 `.c`/`.h` 的后端或系统程序员
  • 在 SkillHub 工作流里强制规范 C 源文件改动、避免中文注释被 UTF-8 误写的技术负责人
  • 用 AI 辅助改内核或驱动层 C 源码、且仓库禁止擅自统一成 UTF-8 的维护者