位置: IT常识 - 正文

如何在控制台打印彩色文字-你不知道的ANSI Color(如何在控制台打印debug里的数据)

编辑:rootadmin
我们在使用脚手架的时候,经常会看到终端输出五颜六色的字符,看起来很酷。如果我们想实现这种效果,通常都会用colors或者chalk来快速实现。 那么问题来了,他们是如何实现的呢? const predefineColor =

推荐整理分享如何在控制台打印彩色文字-你不知道的ANSI Color(如何在控制台打印debug里的数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:如何在控制台打开游戏,如何控制台打开网络管理器,如何在控制台打印debug里的数据,如何在控制台打印debug里的数据,如何在控制台打开网址,如何在控制台打开网址,如何在控制台打印,如何在控制台打印,内容如对您有帮助,希望把文章链接给更多的朋友!

我们在使用脚手架的时候,经常会看到终端输出五颜六色的字符,看起来很酷。如果我们想实现这种效果,通常都会用colors或者chalk来快速实现。

那么问题来了,他们是如何实现的呢?

const predefineColor = [196, 214, 46, 53, 205, 196]const out = 'Double Raindows All Day Long'/** * ESCAPE (U+001B) unicode表示法即 `u001b` *//** * 8位颜色表示法 n的色值是预定义的,可通过 https://zh.wikipedia.org/wiki/ANSI转义序列 查表得到 * ESC[38;5;<n>m 选择前景色,其中`38`表示前景色,`n`表示预定义的256种颜色的色值 * ESC[48;5;<n>m 选择背景色,其中`48`表示背景色,`n`表示预定义的256种颜色的色值 */console.log('\u001b[38;5;214mFirst some yellow text');/** * 3/4位颜色表示法 n的色值是预定义的,可通过 https://zh.wikipedia.org/wiki/ANSI转义序列 查表得到 * ESC[<n>m 选择前景色 其中n取值范围30<=n<=37 * ESC[<n>m 选择前景色 其中n取值范围40<=n<=47 */console.log('\u001b[92m\u001b[4mUnderline that text\u001b[0m');/** * 24位颜色表示法, 支持rgb色值,n的色值是预定义的,可通过 https://zh.wikipedia.org/wiki/ANSI转义序列 查表得到 * ESC[38;2;<R>;<G>;<B>m 选择前景色,其中`38`表示前景色,`RGB`表示三原色,n取值范围0<=n<=255 * ESC[48;2;<R>;<G>;<B>m 选择背景色,其中`48`表示背景色,`RGB`表示三原色,n取值范围0<=n<=255 */console.log('\u001b[38;2;250;0;0m\u001b[1mMake it bold and red\u001b[0m');console.log('\u001b[31m\u001b[3mItatic that text\u001b[0m');console.log('\u001b[37m\u001b[42mBackground color attack!\u001b[0m');function print(out) { const res = out.split(' ') let str = ''; res.forEach(i => { [].forEach.call(i, (j, index) => { str += `\u001b[38;5;${predefineColor[index % predefineColor.length]}m${j}` }) str += " " }) console.log(str);}print(out)

如何在控制台打印彩色文字-你不知道的ANSI Color(如何在控制台打印debug里的数据)

参考资料:

ANSI转义序列

Unicode字符列表

控制台ANSI Color的表示和用法

关于\u001b转义字符

本文链接地址:https://www.jiuchutong.com/zhishi/311956.html 转载请保留说明!

上一篇:java常用代码整理(java 代码简洁)

下一篇:Spring Boot + Redis 实现分布式锁,还有谁不会??(springbootredis密码加密)

  • 补提以前年度的盈余公积可以在本年任意月份提取吗
  • 产值利税率是什么
  • 增值税进项发票网上勾选平台
  • 成本税率计算公式
  • 原材料入库汇总单
  • 购销合同印花税怎么算
  • 土地递减销售收益怎么算
  • 无名称发票可以抵扣吗
  • 固定资产超过注册资金怎么处理
  • 工会劳动保护费不能列支劳保用品
  • 农场管委会是什么性质单位
  • 补缴税款罚款
  • 报税显示未进行抄报税
  • 递延年金现值计算公式解释
  • 没有认证的进项发票怎么入账
  • 个体户 季报
  • 公司买结构性存款算投资吗
  • 机票进项税额怎么申报
  • 发票总金额怎么算折扣
  • 个税7月申报7月怎么填
  • Proxy error: Could not proxy request 解决方法
  • 企业收到保险公司的赔款
  • incorrect email format
  • php string函数
  • PHP:sys_getloadavg()的用法_misc函数
  • 企业职工福利费的扣除标准是多少?
  • js在web前端中的作用
  • php改编码
  • php文件怎么打开运行
  • 存货报废的税务处理及会计处理
  • uniapp打包成h5如何调用原生
  • 企业雇佣临时工个税
  • 免征企业所得税的有
  • nginx同一个端口设置两个网站
  • 资产评估中折现怎么算
  • 滴滴发票开公司名称可以抵扣进项吗
  • 解决前端跨域问题
  • 已缴款未入库是扣款成功了吗
  • 用php制作年历
  • Windows7配置启用ca证书
  • vf中显示命令
  • 减按10%的税率是什么意思
  • 发票管理人员如何操作
  • 材料采购会计科目怎么使用
  • 定期存款一次性可以存多少钱
  • dedecms插件
  • 购销合同交印花税吗怎么交
  • 当月发生的费用
  • 中级财务会计计算题
  • 营业外收入应如何核算
  • 管家婆软件如何做账?
  • 支持疫情的句子 关于抗击疫情的句子
  • 主营业务成本暂估怎么算
  • 收取招标代理费的规定
  • 银行业务冲正
  • 年平均资金占用额是动态平均数吗
  • 小加工厂怎么开发票
  • 企业对私账户合法吗
  • 长期待摊费用可以摊销20年吗
  • 资产减值损失审计程序是什么
  • win10不是自己的账户
  • 晨枫U盘启动工具v2.0
  • ConquerCam.exe进程的详细介绍 ConquerCam进程信息介绍
  • win8开机进入开始界面
  • 如何打开mac系统终端
  • linux如何关闭ipv6防火墙
  • 如何修改win7电脑用户密码
  • shell脚本连接服务器
  • 可以查杀病毒的软件
  • shell脚本用法
  • 字符串截取用什么方法
  • python3 bytes类型
  • java栈怎么写
  • javascript中Date format(js日期格式化)方法小结
  • 贵州地税网上申报大厅
  • 煤炭洗选工艺
  • 汽车购置税与消费税
  • 100万元的人民币
  • 补贴收入有哪些
  • 通用机打发票明细怎么导出电子版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设