如何在命令行中显示五彩斑斓的“黑”

2023-11-19

1. 前言

大部分 coder 已经习惯了命令行枯燥的黑底白字,而且任何编程语言入门的第一行代码都是教我们如何在标准输出(大部分情况就是命令行终端或控制台)打印一行“非黑即白”的 hello world! 。以至于很多不懂编程的“大佬”都觉得程序猿们都TM奇了个葩了,整天对着一块黑屏,瞎JB敲来敲去,还TM当个宝似的。那么本文将告诉你,这不仅仅是一块黑屏,它还能黑得五彩斑斓,亮瞎?眼。。。哈哈哈。。。下图为本文最终能达到的效果,提前贴出来,以表示我没有在吹?B。

2. ANSI 转义序列 (ANSI Escape sequences)

要在黑白电视机般的命令行终端显示五彩斑斓的文字,就不得不先知道它的实现机制,即用于设置文本属性和颜色的 ANSI 转义序列

2.1 什么是 ANSI 转义序列 ?

ANSI 转义序列有些地方也叫 ANSI 转义码(ANSI Escape codes)。它是由 ASCII 码字符组成的序列,用于实现在命令行终端改变图形显示和控制光标移动。

它的前两个字符固定是:

  • 转义字符 Esc,ASCII 码为 27 (十六进制:0x1b)
  • 左中括号字符 [,ASCII 码为 91 (十六进制:0x5b)

后跟控制键盘和显示功能的字母数字码(区分大小写)。这里我们只讨论与显示相关的转义序列,即设置图形显示模式。

2.2 使用 ANSI 转义序列设置图形显示模式

格式(注意以字符m收尾):

Esc[Value;...;Valuem

支持设置的显示模式包含文本属性,前景色和背景色。

2.2.1 文本属性

Value 文本属性
0 重置所有属性
1 粗体显示
4 下划线
5 文字闪烁
7 反向显示
8 隐藏

2.2.2 前景色

</
Value 颜色
30
31
32 绿
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在命令行中显示五彩斑斓的“黑” 的相关文章

随机推荐

  • Shell脚本编写教程【七】——Shell test命令

    Shell脚本编写教程 七 Shell test命令 目录 https blog csdn net shn111 article details 131590488 参考教程 https www runoob com linux linux
  • ICCV 2023

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 作者介绍 张耕维 悉尼科技大学在读博士生 研究方向为持续学习 报告题目 通过慢学习和分类器对齐在预训练模型上进行持续学习 内容简介 持续学习研究的目标在于提高模型利用顺序到达的数
  • windows下使用django实现定时任务

    简介 在做 弹幕弹幕 小程序后端时 需要定时清除数据库中无用的弹幕 在网上查得可以使用Django中的django apscheduler实现这一功能 我在这里记录一下使用这一Application的过程 django apschedule
  • vue封装年月日时分秒

  • case when then else_CASE 表达式

    一 语法及作用 使用CASE表达式可以帮助我们解决复杂的查询问题 相当于条件判断的函数 判断每一行是不是满足条件 CASE CASE 表达式会从对最初的WHEN子句中的 lt 求值表达式 gt 进行求值开始执行 所谓求值 就是要调查该表达式
  • STM32CubeIDE使用笔记(01):基础说明与开发流程

    文章目录 目的 基础事项 下载安装 界面说明 项目文件夹 常用快捷键 开发流程 总结 目的 STM32cubeIDE是ST官方推出的一款用于开发STM32的工具 其实就是整合了STM32CubeMX和TrueSTUDIO而成 对于STM32
  • C、C++、C#、python、java编程—数据类型的使用(二)

    四 Python 4 1字符串 1 字符串使用 var1 Hello World var2 Python Runoob print var1 0 var1 0 print var2 1 5 var2 1 5 以上实例执行结果 var1 0
  • 文本同文件一并提交的后端接口处理(一个实体类)

    出现的问题 org springframework web HttpMediaTypeNotSupportedException Content type multipart form data boundary WebKitFormBou
  • jupyter基本使用方法

    jupyter基本使用方法 菜单栏 File Edit View Insert Cell Kernel Help 工具条 单元 快捷键 菜单栏 File Edit View Insert Cell Kernel Help 工具条 单元 在M
  • 图书管理系统数据字典_2. 结构化——数据字典

    返回目录 Chilan Yuk 软件工程分析设计图库目录 zhuanlan zhihu com 一 基本知识 用于定义数据流和数据存储的结构 并给出构成所给的数据流和数据存储的各数据项的基本数据类型 数据字典中应该包括关于数据的如下信息 一
  • BUCK电路分析(二)

    BUCK电路分析 二 PSIM仿真同步BUCK电路 在上片文章中 初步的分析了BUCK电路的工作原理 本章使用PSIM软件仿真BUCK电路 观察分析BUCK电路器件关键波形 图1是同步BUCK电路图 开关频率设置为200K 固定占空比 在仿
  • Game101现代计算机图形学作业1

    Game101现代计算机图形学作业1 一 作业描述 二 解决方法 一 模型变换 二 投影变换 绕任意轴旋转 三 总结 四 参考和引用 一 作业描述 给定三维下三个点 v 0 2 0 0
  • esp32固件下载时有关串口通信的问题

    最近我做了个简易的esp32开发板 用arduino写了点程序 却怎么也传不上去 用arduino上传的时候总是显示 A fatal error occurred Failed to connect to ESP32 No serial d
  • 启用Powershell脚本(因为在此系统上禁止运行脚本)

    以管理员身份运行一个Powershell窗口 get executionpolicy Restricted set executionpolicy remotesigned Y get executionpolicy RemoteSigne
  • c++基于gSoap开发编译异常

    在程序中存在多个gSoap客户端代理类的话 比如我项目中用到的两个NMMAILGgzwSerSoapProxy h和ZJFaxMangerHttpBindingProxy h 其中第一个NMMAILGgzwSerSoapProxy h类是后
  • 解决 pip install requirements.txt 失败问题

    将命令改为 pip install r requirements txt
  • vscode中jupyter控制是否完整输出,是否折叠。

    打开一个笔记本 右上角设置 自定义笔记本布局 设置output scrolling 设置后 重启vscode生效
  • jwt的token自动续约_JWT的TOKEN续期功能

    JWT里有一个关键的东东 就是续期TOKEN 即TOKEN快过期时 刷新一个新的TOKEN给客户端 办法如下 1 后端生成TOKEN import com starmark core shiro model SecurityUser imp
  • 抖音视频怎么制作

    1 抖音拍摄制作 抖音短视频作为一款视频拍摄 分享软件 自身也带有一些功能可以实现抖音视频制作 做出的抖音视频也很好玩 步骤 1 首先安装好抖音并打开软件 点击软件正下方的 2 可以点击 视频 自动拍摄一段视频 或者点击 上传 将已经拍摄好
  • 如何在命令行中显示五彩斑斓的“黑”

    1 前言 大部分 coder 已经习惯了命令行枯燥的黑底白字 而且任何编程语言入门的第一行代码都是教我们如何在标准输出 大部分情况就是命令行终端或控制台 打印一行 非黑即白 的 hello world 以至于很多不懂编程的 大佬 都觉得程序