编码处理器Skill encoding-handler

编码处理器是一个用于处理跨平台文本编码的工具,支持UTF-8、Windows代码页和BOM处理。它提供编码检测、转换、标准化和错误处理功能,确保文件在不同系统和环境中的兼容性和正确性。关键词:文本编码,UTF-8,BOM处理,跨平台兼容,编码转换,Windows代码页,文件处理,CLI工具,配置管理。

后端开发 0 次安装 0 次浏览 更新于 2/23/2026

name: encoding-handler description: 处理跨平台的文本编码,包括UTF-8、Windows代码页和BOM处理。 allowed-tools: Read, Write, Edit, Bash, Glob, Grep

编码处理器

处理跨平台的文本编码。

功能

  • 检测文件编码
  • 在不同编码之间转换
  • 处理BOM标记
  • 配置Windows代码页支持
  • 标准化文本编码
  • 处理编码错误

生成模式

import { Buffer } from 'buffer';
import iconv from 'iconv-lite';

export function detectBOM(buffer: Buffer): string | null {
  if (buffer[0] === 0xEF && buffer[1] === 0xBB && buffer[2] === 0xBF) return 'utf-8';
  if (buffer[0] === 0xFF && buffer[1] === 0xFE) return 'utf-16le';
  if (buffer[0] === 0xFE && buffer[1] === 0xFF) return 'utf-16be';
  return null;
}

export function stripBOM(content: string): string {
  return content.charCodeAt(0) === 0xFEFF ? content.slice(1) : content;
}

export function decodeBuffer(buffer: Buffer, encoding = 'utf-8'): string {
  const bom = detectBOM(buffer);
  if (bom) {
    return stripBOM(iconv.decode(buffer, bom));
  }
  return iconv.decode(buffer, encoding);
}

export function encodeString(content: string, encoding = 'utf-8', addBOM = false): Buffer {
  const encoded = iconv.encode(content, encoding);
  if (addBOM && encoding.toLowerCase() === 'utf-8') {
    return Buffer.concat([Buffer.from([0xEF, 0xBB, 0xBF]), encoded]);
  }
  return encoded;
}

目标流程

  • 跨平台CLI兼容性
  • CLI输出格式化
  • 配置管理系统