为啥ANSI颜色转义码不起作用[重复]
Posted
技术标签:
【中文标题】为啥ANSI颜色转义码不起作用[重复]【英文标题】:Why are ANSI color escape codes not working [duplicate]为什么ANSI颜色转义码不起作用[重复] 【发布时间】:2021-04-17 09:01:50 【问题描述】:我正在做一个单词搜索,我想用颜色标记用户找到的单词,但我只得到打印的字符串代码而不是颜色。我创建了一个单独的类来测试颜色是否有效,但没有办法。如何打印颜色?
public class color
public static void main(String[] args)
String black="\033[30m";
String red="\033[31m";
String green="\033[32m";
String yellow="\033[33m";
String blue="\033[34m";
String purple="\033[35m";
String cyan="\033[36m";
String white="\033[37m";
String reset="\u001B[0m";
System.out.println ();
System.out.println (red + "Text string in red" + reset);
System.out.println (green + "Text string in green" + reset);
System.out.println (yellow + "Text string in yellow" + reset);
System.out.println (white + "Text string in white" + reset);
System.out.println (black + "Black text string" + reset + "(<- black text string that cannot be seen because my background is black)" + reset);
System.out.println (blue + "Text string in blue" + reset);
System.out.println (purple + "Magenta string" + reset);
System.out.println (cyan + "Text string in cyan" + reset);
System.out.println (reset + "Default color string" + reset);
System.out.println ();
【问题讨论】:
也许你的控制台不支持颜色? HI,[31mText string in red[0m is the result 我使用 eclipse @YoutuberMX eclipse 是一个 IDE,而不是控制台。 我使用 MAC OS X Sierra 【参考方案1】:ANSI 颜色转义码的工作假设是有一些实例(我们称之为“控制台”)接收字符(包括转义序列)、解释它们并根据解释显示带有颜色的字形。
如果您将输出发送到此类与 ANSI 兼容的控制台,那么您将获得彩色文本,但您正在使用的控制台(Eclipse 中的“控制台”视图?)显然与 ANSI 不兼容。
【讨论】:
以上是关于为啥ANSI颜色转义码不起作用[重复]的主要内容,如果未能解决你的问题,请参考以下文章