ANSI转义码
ANSI转义码是一系列用于在文本终端中控制输出格式的代码。它们通过嵌入特定序列到文本中,来控制如文本颜色、光标位置和其他可能的功能。这些代码通常以ESC字符开始,后跟一系列字符来指定不同的操作。
例如,ANSI转义码可以用来使文本显示为不同的颜色、闪烁或者下划线。通过使用这些转义码,程序可以在没有图形界面的情况下,通过更丰富的文本显示来提升用户界面的交互性和视觉吸引力。它们在命令行界面中尤为常见,用于改善输出的可读性和布局。
ANSI转义码对后面的文字生效。
标准 Esc 代码以 Escape 为前缀 + [
+ …
, 例:\x1b[38;5;196m我是红色\x1b[0m文字
为红色文字:
- 八进制:
\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 | 16 | 52 | 88 | 124 | 160 | 196 | 232 |
1 | 17 | 53 | 89 | 125 | 161 | 197 | 233 |
2 | 18 | 54 | 90 | 126 | 162 | 198 | 234 |
3 | 19 | 55 | 91 | 127 | 163 | 199 | 235 |
4 | 20 | 56 | 92 | 128 | 164 | 200 | 236 |
5 | 21 | 57 | 93 | 129 | 165 | 201 | 237 |
6 | 22 | 58 | 94 | 130 | 166 | 202 | 238 |
7 | 23 | 59 | 95 | 131 | 167 | 203 | 239 |
8 | 24 | 60 | 96 | 132 | 168 | 204 | 240 |
9 | 25 | 61 | 97 | 133 | 169 | 205 | 241 |
10 | 26 | 62 | 98 | 134 | 170 | 206 | 242 |
11 | 27 | 63 | 99 | 135 | 171 | 207 | 243 |
12 | 28 | 64 | 100 | 136 | 172 | 208 | 244 |
13 | 29 | 65 | 101 | 137 | 173 | 209 | 245 |
14 | 30 | 66 | 102 | 138 | 174 | 210 | 246 |
15 | 31 | 67 | 103 | 139 | 175 | 211 | 247 |
32 | 68 | 104 | 140 | 176 | 212 | 248 | |
33 | 69 | 105 | 141 | 177 | 213 | 249 | |
34 | 70 | 106 | 142 | 178 | 214 | 250 | |
35 | 71 | 107 | 143 | 179 | 215 | 251 | |
36 | 72 | 108 | 144 | 180 | 216 | 252 | |
37 | 73 | 109 | 145 | 181 | 217 | 253 | |
38 | 74 | 110 | 146 | 182 | 218 | 254 | |
39 | 75 | 111 | 147 | 183 | 219 | 255 | |
40 | 76 | 112 | 148 | 184 | 220 | ||
41 | 77 | 113 | 149 | 185 | 221 | ||
42 | 78 | 114 | 150 | 186 | 222 | ||
43 | 79 | 115 | 151 | 187 | 223 | ||
44 | 80 | 116 | 152 | 188 | 224 | ||
45 | 81 | 117 | 153 | 189 | 225 | ||
46 | 82 | 118 | 154 | 190 | 226 | ||
47 | 83 | 119 | 155 | 191 | 227 | ||
48 | 84 | 120 | 156 | 192 | 228 | ||
49 | 85 | 121 | 157 | 193 | 229 | ||
50 | 86 | 122 | 158 | 194 | 230 | ||
51 | 87 | 123 | 159 | 195 | 231 |
彩虹表:
016 | 052 | 088 | 124 | 160 | 196 | 203 | 210 | 217 | 224 | 231 |
016 | 052 | 088 | 124 | 160 | 202 | 209 | 216 | 223 | 230 | 231 |
016 | 052 | 088 | 124 | 166 | 208 | 215 | 222 | 229 | 230 | 231 |
016 | 052 | 088 | 130 | 172 | 214 | 221 | 228 | 229 | 230 | 231 |
016 | 052 | 094 | 136 | 178 | 220 | 227 | 228 | 229 | 230 | 231 |
016 | 058 | 100 | 142 | 184 | 226 | 227 | 228 | 229 | 230 | 231 |
016 | 022 | 064 | 106 | 148 | 190 | 227 | 228 | 229 | 230 | 231 |
016 | 022 | 028 | 070 | 112 | 154 | 191 | 228 | 229 | 230 | 231 |
016 | 022 | 028 | 034 | 076 | 118 | 155 | 192 | 229 | 230 | 231 |
016 | 022 | 028 | 034 | 040 | 082 | 119 | 156 | 193 | 230 | 231 |
016 | 022 | 028 | 034 | 040 | 046 | 083 | 120 | 157 | 194 | 231 |
016 | 022 | 028 | 034 | 040 | 047 | 084 | 121 | 158 | 195 | 231 |
016 | 022 | 028 | 034 | 041 | 048 | 085 | 122 | 159 | 195 | 231 |
016 | 022 | 028 | 035 | 042 | 049 | 086 | 123 | 159 | 195 | 231 |
016 | 022 | 029 | 036 | 043 | 050 | 087 | 123 | 159 | 195 | 231 |
016 | 023 | 030 | 037 | 044 | 051 | 087 | 123 | 159 | 195 | 231 |
016 | 017 | 024 | 031 | 038 | 045 | 087 | 123 | 159 | 195 | 231 |
016 | 017 | 018 | 025 | 032 | 039 | 081 | 123 | 159 | 195 | 231 |
016 | 017 | 018 | 019 | 026 | 033 | 075 | 117 | 159 | 195 | 231 |
016 | 017 | 018 | 019 | 020 | 027 | 069 | 111 | 153 | 195 | 231 |
016 | 017 | 018 | 019 | 020 | 021 | 063 | 105 | 147 | 189 | 231 |
016 | 017 | 018 | 019 | 020 | 057 | 099 | 141 | 183 | 225 | 231 |
016 | 017 | 018 | 019 | 056 | 093 | 135 | 177 | 219 | 225 | 231 |
016 | 017 | 018 | 055 | 092 | 129 | 171 | 213 | 219 | 225 | 231 |
016 | 017 | 054 | 091 | 128 | 165 | 207 | 213 | 219 | 225 | 231 |
016 | 053 | 090 | 127 | 164 | 201 | 207 | 213 | 219 | 225 | 231 |
016 | 052 | 089 | 126 | 163 | 200 | 207 | 213 | 219 | 225 | 231 |
016 | 052 | 088 | 125 | 162 | 199 | 206 | 213 | 219 | 225 | 231 |
016 | 052 | 088 | 124 | 161 | 198 | 205 | 212 | 219 | 225 | 231 |
016 | 052 | 088 | 124 | 160 | 197 | 204 | 211 | 218 | 225 | 231 |
ANSI RGB颜色
- RGB 设置前景色:
\x1b[38;2;{r};{g};{b}m
- RGB 设置背景色:
\x1b[48;2;{r};{g};{b}m