ANSI标准
ANSI标准规定了一种所有终端共享的指令集,并要求用ASCII的数字字符传递所有数值信息,用于控制linux终端上的光标位置、颜色和其他选项。在文本中嵌入确定的字节序列,大部分以ESC转义字符和"["字符开始,终端会把这些字节序列解释为相应的指令,而不是普通的字符编码。终端颜色就是ANSI转义序的一种应用。ANSI控制序列三部分构成:前置引导,CSI控制序列,结束符号
前置引导
前置引导器就是由ESC的ASCII码值:\033(ESC的ASCII码是十进制的27,八进制的033) 。前置引导的作用是告诉终端,这是个控制命令,终端就不会把这个引导符号后面的文本当字符串来解释。
CSI 控制序列
这个CSI序列主要是控制输出样式的,比如颜色,光标等......
CSI序列由[、若干个(包括0个)“参数字节”、若干个“中间字节”,以及一个“最终字节”组成。各部分的字符范围如下:
[<PREFIX>];[<COLOR>];[<TEXT DECORATION>]
PREFIX:使用的256的颜色模式
COLOR:输出颜色,前景色,背景色等
TEXT DECORATION:文字装饰器,比如下划线等
结束符号m
最后,m指示控制序列的结尾。如[0m,没有任何特殊参数的csi序列。\033[0m即关闭转义序列,\033[0m是终端默认颜色。ESC[m这样没有参数的情况相当于参数为0。
标签:shell,颜色,字节,--,字体,终端,序列,033,CSI From: https://www.cnblogs.com/yuQbug/p/17264085.html