ASCII 控制字符 - "\033"
ASCII 控制字符 - "\033"
ASCII控制字符的编号范围是0-31和127(0x00-0x1F和0x7F),共33个字符。
输出到控制台时,可以利用控制字符来控制输出文本的显示效果。
控制字符可以用8进制或16进制表示,比如:"\033", "\0x1b", "\x1b"均表示同一个控制字符,含义是ESC
ESC后面跟一个格式字符串,用来设置颜色或控制光标
格式 | 含义 |
---|---|
\033[0m | 关闭所有属性 |
\033[1m | 设置高亮度 |
\033[4m | 下划线 |
\033[5m | 闪烁 |
\033[7m | 反显 |
\033[8m | 消隐 |
\033[30~37m | 设置前景色 |
\033[40~47;m | 设置背景色 |
\033[nA | 光标上移n行 |
\033[nB | 光标下移n行 |
\033[nC | 光标右移n行 |
\033[nD | 光标左移n行 |
\033[y;xH | 设置光标位置 |
\033[2J | 清屏 |
\033[K | 清除从光标到行尾的内容 |
\033[s | 保存光标位置 |
\033[u | 恢复光标位置 |
\033[?25l | 隐藏光标 |
\033[?25h | 显示光标 |
前景色和背景色对应的数字
颜色 | 背景色 | 背景色加亮 | 前景色 | 前景色加亮 |
---|---|---|---|---|
黑 | 40 | 100 | 30 | 90 |
红 | 41 | 101 | 31 | 91 |
绿 | 42 | 102 | 32 | 92 |
黄 | 43 | 103 | 33 | 93 |
蓝 | 44 | 104 | 34 | 94 |
紫 | 45 | 105 | 35 | 95 |
靛蓝 | 46 | 106 | 36 | 96 |
白 | 47 | 107 | 37 | 97 |
使用echo命令进行测试
可以使用echo命令对格式字符串进行测试
例如:
echo -e "\033[41;36m 一段文字 \033[0m"
这里先把控制台的背景色设置为红色(41),文字的颜色设置为靛蓝色(36),打印一段文字后,关闭了所有设置(还原到默认状态下)
测试不同的前景色