您知道 APC (U+009F) 控制序列的记录用途吗? 在终端上显示Windows 10

问题描述

我正在寻找使用 APC(应用程序命令)控制字符的应用程序示例。我读过 ECMA-48,它定义如下:

应用程序命令 APC - 应用程序命令

符号:(C1)

代表:09/15 或 ESC 05/15

APC 用作应用程序使用的控制字符串的开始分隔符。后面的命令串可能由 00/08 到 00/13 和 02/00 到 07/14 范围内的位组合组成。控制字符串由终止分隔符 STRING TERMINATOR (ST) 关闭命令字符串的解释取决于相关的应用程序。

我发现许多现代终端仿真器程序足以识别此控件以通过 ST 抑制 APC 的显示,这似乎与 ECMA 意图相匹配......我正在寻找任何使用“命名空间”的示例" 这可能允许不同的应用程序在命令序列中使用不同的内容。我对终端仿真器使用 APC 序列执行某事的示例特别感兴趣。

示例

const APC = "\x9F"
const ST = "\x9C"

console.log(`Hello world${APC}hidden command${ST}!`)

在终端上显示(Windows 10)

PS > node index.js
Hello World!

不显示“隐藏命令”。这看起来不错,但如果我将输出通过管道传输到另一个应用程序,命令字符串就在那里。

有些 shell 似乎对 C1 版本的控制字符有些困惑,我需要做一些工作来记录这一点。

背景

我正在考虑使用 APC 序列来允许嵌入数据(例如 JSON 格式)混合到标准输出流中。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)