ANSI转义字符归纳表
1. 文本样式控制
转义码 |
效果 |
说明 |
\033[0m |
重置所有样式 |
关闭所有颜色和特效 |
\033[1m |
加粗/高亮 |
|
\033[2m |
暗淡(弱化) |
部分终端不支持 |
\033[3m |
斜体 |
部分终端不支持 |
\033[4m |
下划线 |
|
\033[5m |
闪烁(慢) |
部分终端不支持 |
\033[7m |
反色(前景/背景互换) |
|
\033[8m |
隐藏(不可见) |
|
\033[9m |
删除线 |
部分终端不支持 |
2. 前景色(文本颜色)
转义码 |
颜色 |
转义码(亮色) |
\033[30m |
黑色 |
\033[90m |
\033[31m |
红色 |
\033[91m |
\033[32m |
绿色 |
\033[92m |
\033[33m |
黄色 |
\033[93m |
\033[34m |
蓝色 |
\033[94m |
\033[35m |
品红 |
\033[95m |
\033[36m |
青色 |
\033[96m |
\033[37m |
白色 |
\033[97m |
3. 背景色
转义码 |
颜色 |
转义码(亮色) |
\033[40m |
黑色 |
\033[100m |
\033[41m |
红色 |
\033[101m |
\033[42m |
绿色 |
\033[102m |
\033[43m |
黄色 |
\033[103m |
\033[44m |
蓝色 |
\033[104m |
\033[45m |
品红 |
\033[105m |
\033[46m |
青色 |
\033[106m |
\033[47m |
白色 |
\033[107m |
4. 光标控制
转义码 |
作用 |
\033[<n>A |
光标上移 <n> 行 |
\033[<n>B |
光标下移 <n> 行 |
\033[<n>C |
光标右移 <n> 列 |
\033[<n>D |
光标左移 <n> 列 |
\033[<y>;<x>H |
光标移动到第 <y> 行、第 <x> 列 |
\033[2J |
清屏(整个屏幕) |
\033[K |
清除从光标到行尾的内容 |
\033[2K |
清除全行的内容 |
\033[s |
保存光标位置 |
\033[u |
恢复光标位置 |
5. RGB 颜色(部分终端支持)
如果终端支持 24-bit 真彩色,可以使用:
printf("\033[38;2;<r>;<g>;<b>m"); // 设置前景色(RGB)
printf("\033[48;2;<r>;<g>;<b>m"); // 设置背景色(RGB)
示例:
printf("\033[38;2;255;100;0m这是橙红色文字\033[0m\n");