#2864·sccache

当 stdout 不是终端时,编译器输出会丢失每一个非 ASCII 字节

作者: beru创建于 2026年9月19日更新于 2026年9月20日

当输出流不是终端时,sccache 会在写入之前通过 strip-ansi-escapes 处理编译器的 stdout 和 stderr。该程序使用 vte 进行解析,其 Perform::execute 只转发 '\n'。0x80-0x9f 字节被视为 C1 控制码并被丢弃;0xa0-0xc1 和 0xf5-0xff 没有基态条目,也被丢弃;'\r' 也被丢弃。只有形成有效 UTF-8 的字节才能存活。

内容来源: mozilla/sccache