将彩色文本输出到 Linux 终端
问题:如何在 Linux 终端中显示彩色文本支持此功能吗?
答案:输出彩色字符,需要使用 ANSI 颜色代码。然而,值得注意的是,并非所有终端都具备此功能。如果不支持颜色序列,终端将显示垃圾。
例如:
cout << "3[1;31mbold red text3[0m\n";
在此示例中,33 是转义字符,ASCII 27。它后面是 [ ,然后是一个或多个由 ; 分隔的数字,最后是字母 m。这些数字指定从该点开始应用的颜色和格式。
颜色代码:
前景色和背景色的代码如下:
Foreground | Background |
---|---|
30 | 40 (Black) |
31 | 41 (Red) |
32 | 42 (Green) |
33 | 43 (Yellow) |
34 | 44 (Blue) |
35 | 45 (Magenta) |
36 | 46 (Cyan) |
37 | 47 (White) |
额外代码:
此外,您还可以使用以下代码:
Code | Description |
---|---|
0 | Reset (everything back to normal) |
1 | Bold/Bright (often a brighter shade of the same colour) |
4 | Underline |
7 | Inverse (swap foreground and background colours) |
21 | Bold/Bright off |
24 | Underline off |
27 | Inverse off |
请参阅维基百科页面以获取更多受广泛支持的代码。
终端支持检查:
要确定您的终端是否支持颜色序列,请检查该值TERM 环境变量。它应该指示正在使用的特定终端类型(例如 vt100、gnome-terminal、xterm、screen,...)。随后,检查 terminfo 数据库中的颜色功能。
以上是如何在 Linux 终端中打印彩色文本?的详细内容。更多信息请关注PHP中文网其他相关文章!