不喜欢广告? 去 无广告 今天
ANSI 转义码剥离器 & 解析器
开发人员
广告 · 消除?
广告 · 消除?
指导
ANSI 转义码剥离器 & 解析器
从终端输出中删除或呈现 ANSI 转义代码。粘贴彩色终端文本,然后删除所有转义序列以获得干净的纯文本(strip 模式),或预览样式化输出,显示如在终端中出现的颜色(render 模式)。支持 8 色、256 色和 24 位真彩色 ANSI 序列。
如何使用
将 ANSI 彩色终端输出粘贴到输入区域,或加载示例(彩色 ls 输出、git diff、构建日志或 neofetch 风格显示)。选择 Strip 模式删除所有转义序列并获得干净的文本,或选择 Render 模式以样式化 HTML 查看彩色输出。序列分析部分显示找到的每个转义代码、其位置、原始表示和解码含义。使用 SGR 参考查找特定代码。
特征
- Strip Mode — 从终端输出中删除所有 ANSI 转义序列,获得干净的纯文本。显示统计信息:删除的字符、找到的序列和干净的文本长度。复制或下载为 .txt 文件。
- Render Mode — 将 ANSI 代码转换为样式化的 HTML/CSS 并使用类似终端的深色背景预览彩色输出。支持粗体、斜体、下划线、删除线和所有颜色模式。复制为 HTML 或下载。
- 完整色彩支持 — 处理标准 8 色(30-37)、亮色(90-97)、256 色调色板(38;5;n)和 24 位真彩色(38;2;r;g;b),适用于前景和背景。
- 序列分析 — 找到的每个 ANSI 转义序列的详细表格:字节位置、原始转义表示、解码含义和 SGR 参数。按类型汇总统计。
- 输入自动检测 — 处理来自终端粘贴的实际 ESC 字节 (0x1b) 和来自源代码的文本表示,如 \033[31m 或 \x1b[31m。
- 示例内容 — 内置示例:彩色 ls 文件列表、带红色/绿色的 git diff、带警告/错误的构建日志以及 neofetch 风格的 ASCII 艺术系统信息。
- SGR 代码参考 — 选择图形再现代码的综合表格:重置、粗体、斜体、下划线、删除线、所有前景/背景颜色代码、256 色和真彩色语法。
ANSI 转义代码
ANSI 转义代码是控制终端模拟器中文本格式化的特殊字节序列。它们以 ESC 字符(0x1b 或 \033)开头,后跟括号和参数代码。最常见的是以 'm' 结尾的 SGR(选择图形再现)代码,用于控制颜色和文本样式。这些代码嵌入在来自 ls、git、grep、构建系统和测试运行器等工具的输出中,以提供彩色终端输出。当复制或记录此输出时,转义代码变成可见的乱码 — 此工具删除或呈现它们。
广告 · 消除?
什么是 ANSI 转义代码?
ANSI 转义代码(也称为 ANSI 转义序列或 CSI 序列)是控制终端模拟器中文本格式化的特殊字符序列。它们以 ESC 字符(十六进制 0x1b,八进制 \033)开头,后跟括号 '[' 和以字母结尾的数字参数。以 'm' 结尾的 SGR 代码控制颜色和样式:\033[31m 设置红色文本,\033[1m 启用粗体,\033[0m 重置所有格式化。它们被几乎所有命令行工具用于生成彩色输出。
为什么我在终端输出中看到乱码字符?
当您将彩色终端输出复制到文本编辑器、日志文件或剪贴板时,ANSI 转义代码变成可见的序列,如 \033[31m 或 ^[[31m。这些是您的终端通常解释为颜色的原始格式化指令。它们显示为乱码是因为接收应用程序不理解 ANSI 代码。使用此工具的 strip 模式删除它们并获得干净的文本,或使用 render 模式预览预期的颜色。
8 色、256 色和真彩色之间有什么区别?
8 色模式使用代码 30-37 用于前景,40-47 用于背景,提供 8 种基本颜色(黑色、红色、绿色、黄色、蓝色、品红色、青色、白色)加上亮色变体(90-97、100-107)。256 色模式使用语法 \033[38;5;Nm,其中 N 是 0-255,提供 216 种 RGB 颜色加上 24 种灰度。真彩色(24 位)使用 \033[38;2;R;G;Bm 用于直接 RGB 值,支持超过 1600 万种颜色。大多数现代终端支持所有三种模式。
我的终端输出是否发送到服务器?
否 — 所有处理完全在浏览器中使用 JavaScript 正则表达式匹配和 DOM 操作进行。您的终端输出永远不会离开您的设备。这很重要,因为终端输出通常包含文件路径、服务器名称、IP 地址和其他敏感信息。所有剥离、呈现和分析都在客户端运行,没有 API 调用。
