常用ANSI控制码表

2023-11-01 23:32
文章标签 常用 控制 ansi 码表

本文主要是介绍常用ANSI控制码表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【光标控制】

控制码说明
[X;YH将光标移至第 X 行,第 Y 列的位置。
[nA光标上移 n 列。<<若至屏幕顶端则无效>>
[nB光标下移 n 列。<<若至屏幕底端则无效>>
[nC光标向右 n 行。<<若已至屏幕最右端则无效>>
[nD光标向左 n 行。<<若已至屏幕最左端则无效>>
[6n报告光标位置。
[s保存目前的光标位置。
[u取出保存的光标位置来使用。
[?25l隐藏光标
[?25h显示光标


【屏幕控制】

控制码说明
[2J清除屏幕。 <<功能和 DOS 的 CLS 命令一样>>
[K将光标位置开始至本列结束的所有字符清除。


【显示字符属性控制】

控制码说明
[n1;n2;......m设定显示字符的属性状态。
若有两个以上设定则以分号将代码(n1;n2;..)隔开
除非重新设定,否则原设定之属性一直被保留。


代码意义
0所有属性 OFF,即返回正常显示模式 (Normal)
1高亮度显示 (Bright)
4加下划线 (Underline) (注1)
5闪烁显示 (Flash) (注2)
7反相显示 (Inverse)
8不可见 (Invisable)

前景背景颜色
3040黑色
3141红色
3242绿色
3343黄色
3444蓝色
3545紫红色
3646青蓝色
3747白色

【字体控制】

控制码说明
[0I恢复正常字体
[1I宋体
[2I黑体
[3I楷体



一、 锁\开键盘代码

   代码定义:
     锁键盘:ESC[2h
     开键盘:ESC[2l
   应用:
   1.直接在键盘上顺序敲入Esc+[+2+h四键,键盘即被锁住。
   2.在C语言程序显示字符串中包含锁代码:printf(″%c[2h字串″,'\033')。
   3.在shell程序中用echo命令:echo″^[[2h字串″.注Esc键在vi编辑器中输入方法为:Ctrl+v,然后按一下Esc键,在屏幕上显示^[表示已输入。
   同样显示开锁代码则键盘被解锁。

二、 删除字符代码

   代码定义:
   ESC[nX:清除光标右边n个字符,光标不动。
   ESC[K或ESC[OK;清除光标右边全部字符,光标不动。
   ESC[1K:清除光标左边全部字符,光标不动。
   ESC[2K:清除整行,光标不动。
   ESC[J或ESC[OJ:清除光标右下屏所有字符,光标不动。
   ESC[1J:清除光标左上屏所有字符,光标不动。
   ESC[2J或ESCc:清屏,光标移到左上角。
   ESC[nM:删除光标之下n行,剩下行往上移,光标不动。
   ESC[nP:删除光标右边n个字符,剩下部分左移,光标不动。
   应用:
   一般用于自己开发的编辑器中或涉及行编辑的应用程序中。

三、 插入字符代码

   代码定义:
   ESC[n@:在当前光标处插入n个字符。
   ESC[nL:在当前光标下插入n行。
   应用:
   一般用于自己开发的编辑器中或涉及行编辑的应用程序中。

四、 移动光标

   代码定义:
   ESC[nA:光标上移n行。
   ESC[nB:光标下移n行。
   ESC[nC:光标右移n个字符。
   ESC[nD:光标左移n个字符。
   ESC[n;mH :光标定位到第n行m列(类似代码ESC[n;mf)。
   应用:
   1.一般用于自己开发的编辑器中或涉及行编辑的应用程序中。
   2.用shell编辑的菜单程序中定位光标,如:
   echo″^[[10;30H请选择:[ ]^[[9C\c″,则先把光标定位到10行30列,然后显示″请选择[ ]″,最后光标右移9个符定位到中括号内等待用户响应。

五、 定义字符显示属性代码

   代码定义:
   ESC[p;p;p;……m 其中属性值p可以是一个或多个,具体定义如下:
   p 含义
   0 清除所有属性
   1 高亮度显示
   4 下划线(如果硬件支持的话)
   5 闪烁(如果硬件支持的话)
   25 无闪烁
   7 反场(前背景交换)
   27 无反场
   8 隐藏(不显示)
   10 选择基本字体
   11 选择第一替代字体;让ASCII值小于32的字 If processing of a directive fails, no further input is read, and scanf() returns. A failure can be either of the following: input failure, mean ing that input characters were unavailable, or matching failure, meaning that the input was inappropriate (see below).The format strin g consists of a sequence of directives which describe how to process the sequence of input characters. If processing of a directi ve fails, no further input is read, and scanf() returns. A failure can be either of the following: input failure, meaning that inp ut characters were unavailable, or matching failure, meaning that the input was inappropriate (see below).The format string consists o f a sequence of directives which describe how to process the sequence of input characters. If processing of a directive fails, no further input is read, and scanf() returns. A failure can be either of the following: input failure, meaning that input character s were unavailable, or matching failure, meaning that the input was inappropriate (see below).符显示时直接取自ROM芯片内
   12 选择第二替代字体;在作为ROM字符显示之前先压缩扩展高位ASCII码值
   30 前景黑色
   31 前景红色
   32 前景绿色
   33 前景褐色
   34 前景蓝色
   35 前景紫色
   36 前景蓝绿色
   37 前景白色
   38 开启下划线标志;白色前景用白色下划线
   39 关闭下划线标志
   40 背景黑色
   41 背景红色
   42 背景绿色
   43 背景褐色
   44 背景蓝色
   45 背景紫色
   46 背景蓝绿色
   47 背景白色
   应用:
   unix系统提供的setcolor命令是以行为单位改变颜色,在实际运用中有它的局限性,上面提到的控制代码在日常生活中用得最多,尤其适合于彩色弹出式立体菜单的设计。如我设计的中心机房值班程序,由于用了这些控制代码,界面非常友好。

六、其它代码

   代码定义:
   ESC7:保存当前光标位置参数及字符属性。
ESC8:恢复保存的光标位置参数及字符属性。
   \n :插入换行符
   \t :插入一个Tab键。
   \r :插入回车符。
   ^G :插入响铃符(pc嗽叭鸣叫一次),在vi中按Ctrl+g即可输入。
   \c :用于shell程序中,不换行。
   应用:
   1.用户界面设计。
   2.用于中心机房向储蓄柜面发通知的程序中(结合实达终端屏幕保存代码ESC[/n;mr__保存从n行到m行的内容,恢复代码ESC[/11)

七、应用举例

   1.彩色立体菜单(shell语言):
   setcolor-b white
   clear
   while true
   do
   echo″
   ^[[8;20H^[[34;43m┍—————————┒^[[47m
   ^[[9;20H^[[34;43m | 1 日 间 业 务 | ^[[40m ^[[47m
   ^[[10;20H^[[34;43m| 2 环 境 维 护 | ^[[40m ^[[47m
   ^[[11;20H^[[34;43m| 请 选 择 [ ]| ^[[40m^[[47m
   ^[[12;20H^[[34;43m┕      ┛^[[40m^[[47m
   ^[[13;22H^[[40m     ^[[47m
   echo″ ^[[11;40H\c″
   read acc
   done
   2.向储蓄所发通知(C语言):
   #include<stdio.h>
   main()
   {
   printf(″%c7%c[/2;4r″,'\033',\033');
   printf(″%c[2;5H%c[2K 紧急通知 ″,' \033','\033');
   printf(″%c[3;5H%c[2K由于线路问题,今天不办新余市通存通兑业务“,'[033','\033');
   printf(″%c[4;5H%c[2K 中心机房 1998.11.20%c8″,'\033','033','\033');
   fflush(stdout);
   sleep(10);
   printf “%c[/11″,'\033');
   fflush(stdout);
   }
   说明:该程序首先保存光标位置,同时保存2至4行内容 ,接着定位光标到2行5列,清除该行原先内容,然后显示“紧急通知”字样,通知显示完后立即恢复光标位置,然后等待10秒钟后恢复屏幕原先内容

这篇关于常用ANSI控制码表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/326543

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

nginx介绍及常用功能

什么是nginx nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务。 Apache:重量级的,不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这些都决定了Apache不可能成为高性能WEB服务器  nginx: