1. 示例
控制台输出彩色信息,这里以java代码为例进行展示,以下输出环境:win10(22H2)、idea
示例1
System.out.println("\33[30m"+"黑色"+"\33[0m"); // 由于idea控制台背景色也是黑色,不容易看出来
System.out.println("\33[31m"+"红色"+"\33[0m");
System.out.println("\33[32m"+"绿色"+"\33[0m");
System.out.println("\33[33m"+"黄色"+"\33[0m");
System.out.println("\33[34m"+"蓝色"+"\33[0m");
System.out.println("\33[35m"+"紫色"+"\33[0m");
System.out.println("\33[36m"+"青色"+"\33[0m");
System.out.println("\33[37m"+"白色"+"\33[0m");
示例2
// 亮黑色
System.out.println("\33[90m"+"高亮黑色"+"\33[0m");
System.out.println("\33[91m"+"高亮红色"+"\33[0m");
System.out.println("\33[92m"+"高亮绿色"+"\33[0m");
System.out.println("\33[93m"+"高亮黄色"+"\33[0m");
System.out.println("\33[94m"+"高亮蓝色"+"\33[0m");
System.out.println("\33[95m"+"高亮紫色"+"\33[0m");
System.out.println("\33[96m"+"高亮青色"+"\33[0m");
System.out.println("\33[97m"+"高亮白色"+"\33[0m");
示例3
// 背景色
System.out.println("\33[40m"+"背景黑色"+"\33[0m");
System.out.println("\33[41m"+"背景红色"+"\33[0m");
System.out.println("\33[42m"+"背景绿色"+"\33[0m");
System.out.println("\33[43m"+"背景黄色"+"\33[0m");
System.out.println("\33[44m"+"背景蓝色"+"\33[0m");
System.out.println("\33[45m"+"背景紫色"+"\33[0m");
System.out.println("\33[46m"+"背景青色"+"\33[0m");
System.out.println("\33[47m"+"背景白色"+"\33[0m");
2. 序列号含义
从以上三个示例可以看出,控制彩色输出的序列字符是以 \33[
开头,然后跟着序列号(多个序列号以 ;
隔开,其中每个序列号所代表的含义也不一样),然后以 m
字符结束;以下是部分序列号对应的含义:
黑色 | 红色 | 绿色 | 黄色 | 蓝色 | 紫色 | 青色 | 白色 | 默认颜色 |
---|---|---|---|---|---|---|---|---|
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 39 |
高亮黑色 | 高亮红色 | 高亮绿色 | 高亮黄色 | 高亮蓝色 | 高亮紫色 | 高亮青色 | 高亮白色 |
---|---|---|---|---|---|---|---|
90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 |
字体加粗 | 字体锋锐(不太明显) | 字体斜体 | 字体加下划线 | 字体加边框 |
---|---|---|---|---|
1 | 2 | 3 | 4 | 52 |
3. 序列号组合
序列号其实也可以多个进行组合,比如:
System.out.println("\33[1;31m"+"红色 + 加粗"+"\33[0m");
System.out.println("\33[1;32m"+"绿色 + 加粗"+"\33[0m");
# 加粗的不太明显
System.out.println("\33[4;31m"+"红色 + 下划线"+"\33[0m");
System.out.println("\33[4;32m"+"绿色 + 下划线"+"\33[0m");
System.out.println("\33[41;52;92m"+"背景红色 + 高亮绿色文本 + 边框(边框的颜色同字体颜色)"+"\33[0m");
4. 重置字符
以上示例代码中输出文本后面都跟着 \33[0m
控制序列字符 (具有将样式重置的作用)
, 为什么要加上这个呢,如果不加的话,后面输出文本会跟着前一步设置的样式进行输出,请看以下示例:
System.out.println("\33[4;31m"+"红色 + 下划线");
System.out.println("这一行输出,虽然不加控制字符,文本的的样式还是:红色 + 下划线");
System.out.println("\33[0m");
System.out.println("使用了重置控制序列字符,这一行输出会是默认样式");
标签:高亮,样式,彩色,System,33,终端,println,0m,out
From: https://www.cnblogs.com/baikaishui-liang/p/18454701