ANSI 转义序列使用 - 定义终端打印字体的属性(颜色、粗体、斜体、背景等)
ANSI 转义序列是一种用于在控制台中输出格式化文本的标准。它由一系列以 ESC(ASCII 码 27)开头的字符组成,后跟一个或多个参数和一个字母,以指示需要执行的操作。ANSI 转义序列最初是为了在终端上输出彩色文本而设计的,但它们也可以用于设置文本样式、移动光标等。
ANSI 转义序列的格式如下:
\033[<parameter1>;<parameter2>...<parameterN><letter>
其中,\033 表示 ESC,<parameter1>
、<parameter2>
等表示参数,<letter>
表示指令字母。不同的指令字母代表了不同的操作,如下表所示:
指令字母 | 操作 |
---|---|
m | 设置文本属性 |
H | 设置光标位置 |
J | 清除屏幕 |
K | 清除行 |
s | 保存光标位置 |
u | 恢复光标位置 |
在参数中,分号用于分隔不同的参数。常见的参数包括:
参数 | 意义 |
---|---|
0 | 关闭所有属性 |
1 | 设置粗体 |
2 | 设置弱化(半亮) |
3 | 设置斜体 |
4 | 下划线 |
5 | 闪烁(慎用) |
7 | 反显 |
8 | 消隐 |
30-37 | 设置前景色 |
40-47 | 设置背景色 |
例如,要将文本颜色设置为红色,我们可以使用以下 ANSI 转义序列:
print('\033[31m' + 'Hello, world!' + '\033[0m')
在这个例子中,\033[31m
是一个 ANSI 转义序列,它告诉终端将后续文本的颜色设置为红色。\033[0m
是另一个 ANSI 转义序列,它告诉终端将后续文本的颜色重置为默认颜色。
总之,ANSI 转义序列是一种用于在控制台中输出格式化文本的标准,它由一系列以 ESC 开头的字符组成,后跟一个或多个参数和一个字母,以指示需要执行的操作。常见的指令字母包括 m、H、J、K、s 和 u,常见的参数包括 0-8、30-37 和 40-47。
E.G.