控制输出通过esc字符(\033)来实现,原因未知,找不到资料。
ESC的ASCII码是十进制的27,八进制的033(\033)。也可以用其他编码表示来进行控制。
格式:
"\033[..;...m" 以\033[开头 m结尾, 中间代表设置的值,不同值用;分隔。(如果设置的重复,则后会覆盖前,如"\033[43,44m"则会显示44代表的颜色,如果43在后面则会显示43)
数字代表:
0 终端默认设置(黑底白字)
1 高亮显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见
9 删除线
21 粗体下划线
字颜色:30-----------37
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
字背景颜色范围:40----47
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色
方框:51--------52
52:粗体方框
字体加亮颜色:90------------97
90:黑
91:红
92:绿
93:黄
94:蓝色
95:紫色
96:深绿
97:白色
背景加亮颜色范围:100--------------------107
100:黑
101:深红
102:绿
103:黄色
104:蓝色
105:紫色
106:深绿
107:白色
下图为java1-107的样式演示图,107以后还有中间有一些没有看到样式。
在控制码(可以用于shell和linux)
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标