Skip to content

ANSI转义码

ANSI转义码是一系列用于在文本终端中控制输出格式的代码。它们通过嵌入特定序列到文本中,来控制如文本颜色、光标位置和其他可能的功能。这些代码通常以ESC字符开始,后跟一系列字符来指定不同的操作。

例如,ANSI转义码可以用来使文本显示为不同的颜色、闪烁或者下划线。通过使用这些转义码,程序可以在没有图形界面的情况下,通过更丰富的文本显示来提升用户界面的交互性和视觉吸引力。它们在命令行界面中尤为常见,用于改善输出的可读性和布局。

ANSI转义码对后面的文字生效。

标准 Esc 代码以 Escape 为前缀 + [ + , 例:\x1b[38;5;196m我是红色\x1b[0m文字为红色文字: ansi_escape_red.png

  • 八进制: \033: \033[38;5;196m我是红色\x1b[0m文字
  • Unicode: \u001b: \u001b[38;5;196m我是红色\x1b[0m文字
  • 十六进制: \x1b: \x1b[38;5;196m我是红色\x1b[0m文字

清屏与刷屏

  • 清屏:\x1b[2J,可把屏幕显示清掉,但数据保存在后台,用于方便显示。
  • 刷屏:\x1b[7t,用于刷新新数据,适用关闭自动刷新使用。

组合使用方式:

gray0: 0 0 0 1  1 0 0 0
gray1: 0 0 0 0  1 1 0 0
\x1b[2J\x1b[7t
gray0: 0 0 0 0  1 1 0 0
gray1: 0 0 0 0  0 1 1 0
\x1b[2J\x1b[7t
gray0: 0 0 0 0  0 1 1 0
gray1: 0 0 0 0  0 0 1 1
\x1b[2J\x1b[7t
...

如上\x1b[2J清屏后使用\x1b[7t刷新新数据进行"覆盖",让屏幕只显示

gray0: 0 0 0 1  1 0 0 0
gray1: 0 0 0 0  1 1 0 0

可以避免数据滚动效果,且像一个屏幕一样刷新数据。

样式

样式转义码
粗体\x1B[1m
淡化体\x1B[2m
斜体\x1B[3m
下划线\x1B[4m
反色\x1B[7m
中线\x1B[9m

ANSI 标准8色度表

ANSI转义码颜色
背景 黑色 \x1b[40m
背景 红色 \x1b[41m
背景 绿色 \x1b[42m
背景 黄色 \x1b[43m
背景 蓝色 \x1b[44m
背景 紫色 \x1b[45m
背景 青色 \x1b[46m
背景 白色 \x1b[47m
重置-无 \x1b[0m
前景 黑色 \x1b[30m
前景 红色 \x1b[31m
前景 绿色 \x1b[32m
前景 黄色 \x1b[33m
前景 蓝色 \x1b[34m
前景 紫色 \x1b[35m
前景 青色 \x1b[36m
前景 白色 \x1b[37m

ANSI 256色度表

用0-255替换:例:\x1b[38;5;196m后面的文字为红色文字

  • 文本颜色:\x1b[38;5;…m, \033[38;5;…m
  • 背景颜色:\x1b[48;5;…m, \033[48;5;…m
  • 重置颜色:\x1b[0m, \033[0m

颜色表:

 0 165288 124160196232
 1 175389 125161197233
 2 185490 126162198234
 3 195591 127163199235
 4 205692 128164200236
 5 215793 129165201237
 6 225894 130166202238
 7 235995 131167203239
 8 246096 132168204240
 9 256197 133169205241
10 266298 134170206242
11 276399 135171207243
12 2864100136172208244
13 2965101137173209245
14 3066102138174210246
15 3167103139175211247
3268104140176212248
3369105141177213249
3470106142178214250
3571107143179215251
3672108144180216252
3773109145181217253
3874110146182218254
3975111147183219255
4076112148184220
4177113149185221
4278114150186222
4379115151187223
4480116152188224
4581117153189225
4682118154190226
4783119155191227
4884120156192228
4985121157193229
5086122158194230
5187123159195231

彩虹表:

ANSI RGB颜色

  • RGB 设置前景色:\x1b[38;2;{r};{g};{b}m
  • RGB 设置背景色:\x1b[48;2;{r};{g};{b}m
浙公网安备33038102332443浙ICP备2024086215号

瑞安允斯软件开发工作室(个体工商户)