【问题标题】:Difference between ANSI color?ANSI颜色的区别?
【发布时间】:2018-03-11 12:47:51
【问题描述】:

我正在搜索有关更改 NetBeans 中控制台的输出颜色的信息,并找到了 this 帖子。 我尝试了第一个答案,并且非常适合更改颜色。我尝试了第五个答案并且......也工作了。

我的问题是:为什么为每种颜色指定的字符串在第一个和第五个不同?

第一个答案的例子:

public static final String ANSI_BLUE = "\u001B[34m";

第五个答案的例子:

public static final String BLUE = "\033[0;34m";    // BLUE

我做了一些研究,但我真的不知道为什么。

感谢您的回答或帮助指出我理解它。

【问题讨论】:

    标签: ansi-colors


    【解决方案1】:

    除了给出的答案,我想补充一点我在this 链接中找到的信息。在该页面中,您可以看到构造转义序列的不同方法及其每个部分的含义,以及可能的值。举个例子:

    Esc[Value;...;Valuem
    设置图形模式: 调用由下列值指定的图形函数。这些指定的函数保持活动状态,直到下一次出现此转义序列。图形模式更改屏幕上显示的文本的颜色和属性(例如粗体和下划线)。

    文本属性
    0 所有属性关闭
    1 加粗
    4 下划线(仅在单色显示适配器上)
    5 闪烁
    7 反向播放视频
    8 隐藏在

    【讨论】:

      【解决方案2】:

      反斜杠符号表示一个字节的本地表示八进制数。 \u 表示法表示 16 位十六进制 Unicode 表示。 \u001b\033 都表示 ESC,因此在这方面它们是相同的。

      话虽如此,这两个序列并不相同。第一个序列给出一个命令,34,意思是“前景色蓝色”。第二个序列给出了两个命令,用分号分隔。第二个是34,但第一个是0,意思是“重置”。

      所以第一个序列将颜色变为蓝色,而第二个序列重置设置,然后将颜色设置为蓝色。

      【讨论】:

        猜你喜欢
        • 2011-07-28
        • 1970-01-01
        • 2011-03-05
        • 2012-05-06
        • 2018-09-30
        • 2012-05-22
        • 1970-01-01
        • 1970-01-01
        • 2020-06-20
        相关资源
        最近更新 更多