返回
终端上的颜色构成规则
前端
2024-01-05 20:06:24
你一定知道,在终端上显示的彩色文本并不仅仅是显示的字符颜色有差别,而是一个完整的格式构成。我们称之为格式控制符,学习了格式控制符,你就可以充分利用终端功能,展示彩色字符了。
终端颜色格式控制符的构成
终端的颜色控制符是一个以“\e”开头的字符串,字符串中包含了一个“[”符号,紧跟其后的是一个、两个或三个八进制数字,用以文本的颜色和背景色。
格式控制符的组成部分如下:
- 转义字符:\e
- 方括号:[]
- 数字:0-7
其中,转义字符和方括号都是固定的,数字则是用来颜色和背景色的。
颜色和背景色的描述方式如下:
- 数字 0 表示黑色
- 数字 1 表示红色
- 数字 2 表示绿色
- 数字 3 表示黄色
- 数字 4 表示蓝色
- 数字 5 表示品红色
- 数字 6 表示青色
- 数字 7 表示白色
- 数字 8 表示亮黑色
- 数字 9 表示亮红色
- 数字 10 表示亮绿色
- 数字 11 表示亮黄色
- 数字 12 表示亮蓝色
- 数字 13 表示亮品红色
- 数字 14 表示亮青色
- 数字 15 表示亮白色
例如,要将文本的颜色设置为红色,背景色设置为蓝色,可以使用以下格式控制符:
\e[31;44m
要将文本的颜色设置为亮红色,背景色设置为亮蓝色,可以使用以下格式控制符:
\e[91;104m
要将文本的颜色重置为默认值,背景色重置为黑色,可以使用以下格式控制符:
\e[0m
这里有一些简单的示例,供您参考:
- 将文本的颜色设置为红色:
\e[31mText\e[0m
- 将文本的颜色设置为绿色,背景色设置为黄色:
\e[32;43mText\e[0m
- 将文本的颜色设置为亮蓝色,背景色设置为亮红色:
\e[94;101mText\e[0m
值得注意的是,终端上彩色字符的显示效果取决于终端的实现方式。
在 Linux 和 macOS 系统中,可以使用 ANSI 转义序列来控制终端的颜色。在 Windows 系统中,可以使用 Windows 控制台 API 来控制终端的颜色。
如果你正在使用 Windows 系统,并且想要在终端上显示彩色文本,你可以使用以下代码:
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
其中,FOREGROUND_RED、FOREGROUND_GREEN 和 FOREGROUND_BLUE 是 Windows 控制台 API 中定义的颜色常量。
你可以使用这些常量来控制文本的颜色。
以上就是终端彩色字符的控制格式构成,希望对您有所帮助。