终端彩色样式的简单使用

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("使用了重置控制序列字符,这一行输出会是默认样式");

posted @   blogliang  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示