ANSI 以及颜色编码
ANSI 是一种字符编码, 其扩展了ASCII 编码。
ANSI 可以实现在终端输出带有颜色的字体,这里的终端有很多,典型的就是Linux 的命名终端,另外Eclipse在安装插件之后也可以显示颜色字体。
注意: Windows 系统不直接支持颜色字体,通过一下两种方式可以使用:
- cygwin : 在Windows 上运行Unix的模拟系统
- MinGW : 将编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API 和 MSYS。也就是GCC的Windows 版本。
##ANSI颜色码的使用
ANSI 的使用场景有:
- Linux 终端的颜色字体显示。这样看起来清晰多了。比如 文件夹和文件的颜色不一样。
- 开发IDE 对颜色字体的支持。 比如Eclipse在控制台输出的时候, 错误信息以红色字体显示。
Linux系统中快速演示ANSI 颜色字体
进入Linux 终端, 如果是从Windows连接Unix,可以使用 Putty, 在控制台输入 :
echo -e "\033[32m hello \033[0m"
- echo 命令后面加
-e
参数选项是激活转义字符。如果不加的话就会原样输出。 \033[
控制码开始标志32
绿色m
控制字符\033[0m
恢复默认颜色。 因为默认颜色的编码是39 , 所以也可以使用\033[39m
。 默认是白色, 如果不恢复,则控制台的颜色会改变。
ANSI 控制码
ANSI 控制码以Esc 作为控制码的开始标志。 Esc的ANS十进制码是 27 , 八进制码是33, 使用\33 表示。主要的控制码有:
\033[0m
关闭所有属性\033[1m
设置高亮度\033[4m
下划线\033[5m
闪烁 , 测试在在linux 显示效果是底色。\033[7m
反显\033[8m
消隐\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
显示光标\033[30m
~\033[37m
设置前景色\033[40m
~\033[47m
设置背景色
常用颜色码
字体: 30-39
字体背景:40-49
字体颜色和背景颜色的个位数对应的颜色是相同的。
- 39 默认颜色
- 30 黑色
- 31 红色
- 32 绿色
- 33 黄色
- 34 蓝色
- 35 紫色
- 36 青色
- 37 白色