linux下终端的字符颜色由转义序列控制,是文本模式下的系统显示功能,与具体语言无关。
转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表示为0x1B,八进制表示为033。多数转义序列超过两个字符,
故通常以'ESC'和左括号'['开头。该起始序列称为控制序列引导符,通常由'\033['或'\e['代替。
格式为:
printf("\033[字背景颜色 ; 字体颜色m 字符串
\033[0m");
后面的\033[0m 为控制码.
颜色代码:
字背景颜色范围: 40-49;
字体颜色: 30-39;
30/40:黑色
31/41:红色
32/42:绿色
33/43:黄色
33/34:蓝色
35/45:紫色
36/46:深绿色
37/47:白色
ANSI控制码:
\033[0m
关闭所有属性
\033[1m
设置高亮度
\033[4m
下划线
\033[5m
闪烁
\033[7m
反显
\033[8m
消隐
\033[30m--/033[37m
设置前景色
\033[40m
设置背景色
\033[nA
光标上移n行
\033[nB
光标下移n行
\033[nC
光标右移n行
\033[nD
光标左移n行
\033[y;xH
设置光标位置
\033[2J
清屏
\033[K
清除从光标到行尾的内容
\033[?25l
隐藏光标
\033[?25h
显示光标