位置: 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密码加密)

  • 电脑蓝屏f4的原因(蓝屏f4是什么意思)

  • 华硕显卡白灯怎么关闭(华硕显卡白灯怎么bios关闭)

  • 苹果怎么查看所有通话记录(苹果怎么查看所有订单)

  • 8代强制重启方法(8代强制重启方法有哪些)

  • 微信删了的朋友圈还能找回来么(微信删了的朋友圈还能找到吗)

  • 快手注销账号要多久,可以重新注册(快手注销账号要多久才搜索不到)

  • 荣耀30s后壳什么材质(华为荣耀30s后盖多少钱)

  • windows记事本功能是什么(windows记事本在哪里打开)

  • 主板cfg lock开还是关(主板f1)

  • 怎么判断对方微信停用(怎么判断对方微信号是不是封了)

  • vivo手机回收站在哪里找(vivo手机回收站怎么找)

  • 苹果手机如何设置面容解锁(苹果手机如何设置小圆点快捷键)

  • 手机号邮箱怎么注册(手机号邮箱怎么查看邮件)

  • 反片打印啥意思(反片打印的效果)

  • 手机打电话的图标找不到怎么办(手机打电话的图案没有了)

  • 街景地图怎么打开(街景地图怎么打开才能到自己的家乡)

  • y97电池容量多大(y97的电池型号)

  • 华为petl20是什么型号(华为petl20支持联通卡吗)

  • 5g时代的到来对我们的影响(5g时代的到来对中国的意义)

  • 怎么样解绑滴滴(怎么样解绑滴滴自动扣款)

  • group policy client服务未能登录解决方法

  • 谷歌新版本跨域错误深度剖析与解决:request client is not a secure context and the resource is in more-private address(谷歌浏览器跨域解决方案)

  • Python中pdb设置断点(python设置断点)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络