【发布时间】:2012-04-14 12:18:34
【问题描述】:
我需要帮助识别这些 ANSI 转义序列代表什么。我目前正在我正在编写的终端屏幕阅读器中过滤/评估 ANSI 代码,但我不确定这些是什么。
转义序列:
[0;1mm
[0;1;;4m
我使用下面的转义序列图表作为参考: http://ascii-table.com/ansi-escape-sequences-vt-100.php
【问题讨论】:
标签: terminal telnet ansi-escape
我需要帮助识别这些 ANSI 转义序列代表什么。我目前正在我正在编写的终端屏幕阅读器中过滤/评估 ANSI 代码,但我不确定这些是什么。
转义序列:
[0;1mm
[0;1;;4m
我使用下面的转义序列图表作为参考: http://ascii-table.com/ansi-escape-sequences-vt-100.php
【问题讨论】:
标签: terminal telnet ansi-escape
ECMA-48 是这些的主要来源。
至于你的具体例子:
[0;1mm
是 SGR(选择图形再现)0 和 1,后跟正常未转义的 m。 SGR 0 重置所有再现属性,1 启用粗体。
[0;1;;4m
是 SGR 0、1、4。0 重置,1 启用粗体,4 启用单下划线。
编辑:实际上,我相信第二个示例相当于
CSI 0;1;0;4 m
重置,启用粗体,第二次重置,然后启用下划线。所以总的来说,只启用下划线,不启用粗体。
【讨论】:
您链接到的图表严格来说是 VT100 终端支持的代码(以及 VT52 支持的子集)。转到旁边的ANSI Escape sequences 图表以查看 ANSI 终端代码图表,其中解释了ESC [ … m 序列。 (这些页面对于显示的图表有点混乱。)
执行摘要是您发布的代码启用粗体和下划线文本。
我还推荐Xterm supported codes 图表,它涵盖了 Xterm 和一些其他常见终端仿真器以及其他一些硬件终端支持的代码。
【讨论】: