我正在搜索在NetBeans中更改控制台的输出颜色并找到this帖子。 我尝试了第一个答案,并完美地改变了颜色。我尝试了第五个答案,......也工作了。
我的问题是:为什么为每种颜色指定的字符串在第一和第五中是不同的?
第一个答案的例子:
public static final String ANSI_BLUE = "\u001B[34m";
第五个答案的例子:
public static final String BLUE = "\033[0;34m"; // BLUE
我做了一些研究,但我真的无法理解为什么。
我感谢您的回答或帮助,让我理解它。
答案 0 :(得分:1)
反斜杠表示法表示一个字节的本地表示八进制数。 \u
表示法表示16位十六进制Unicode表示。 \u001b
和\033
都表示ESC,因此在这方面它们是相同的。
据说,两个序列不一样。第一个序列给出一个命令34
,这意味着"前景色为蓝色"。第二个序列给出两个命令,用分号分隔。第二个是34
,但第一个是0
,这意味着"重置"。
因此第一个序列将颜色更改为蓝色,而第二个序列重置设置,然后将颜色设置为蓝色。
答案 1 :(得分:0)
除了给定的答案,我想添加一些我在this链接中找到的信息。在页面中,您可以看到构造转义序列的不同方法及其每个部分的含义,以及可能的值。举个例子:
Esc[Value;...;Valuem
设置图形模式: 调用由以下值指定的图形函数。这些指定的函数在下一次出现此转义序列之前保持活动状态。图形模式会更改屏幕上显示的文本(如粗体和下划线)的颜色和属性。文字属性
0所有属性关闭
1大胆上 4下划线(仅限单色显示适配器)
5闪烁 7反转视频 8隐藏在