【问题标题】:ANSI Escape Sequences [closed]ANSI 转义序列 [关闭]
【发布时间】: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


    【解决方案1】:

    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
    

    重置,启用粗体,第二次重置,然后启用下划线。所以总的来说,只启用下划线,不启用粗体。

    【讨论】:

    • 非常感谢。仍然掌握所有转义序列的含义。
    • 请注意,如果您试图了解写入终端的代码,使用多个文档源通常会有所帮助,以查找不属于特定标准或不受特定 (硬件)终端或仿真器。另请注意,ECMA-48 标准描述了一些流行的终端仿真器不支持的几个代码,因为该标准旨在全面并描述一些深奥或特定于市场的功能。
    【解决方案2】:

    您链接到的图表严格来说是 VT100 终端支持的代码(以及 VT52 支持的子集)。转到旁边的ANSI Escape sequences 图表以查看 ANSI 终端代码图表,其中解释了ESC [ … m 序列。 (这些页面对于显示的图表有点混乱。)

    执行摘要是您发布的代码启用粗体和下划线文本。

    我还推荐Xterm supported codes 图表,它涵盖了 Xterm 和一些其他常见终端仿真器以及其他一些硬件终端支持的代码。

    【讨论】:

    • 谢谢。我是逃生序列的新手,所以对我来说都是未锻造的钢材。
    猜你喜欢
    • 1970-01-01
    • 2011-06-18
    • 2011-09-27
    • 1970-01-01
    • 2018-11-01
    • 2021-06-28
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多