VT100控制码进行终端扩展显示
来源:互联网 发布:口红哪个牌子好 知乎 编辑:程序博客网 时间:2024/06/01 08:02
VT100是一个古老的终端定义,后面出现的终端几乎都兼容这种终端。VT100控制码是用来在终端扩展显示的代码。比如果终端上任意坐标用不同的颜色显示字符。有时又称为ANSI Escape Sequence.
所有的VT100控制符是 \033打头(即ESC的ASCII码)用输出字符语句来输出。可以在命令行用echo -ne 命令,或者在C程序中用printf来输出VT100的控制字符。
具体格式有两种,
- 一种数字形式, \033[<数字>m .
如 \33[40m ,表示让后面字符输出用背景黑色输出 \33[0m表示取消前面的设置。
其中前景(字符颜色)/背景颜色需要同时输出。
- 另一种是控制字符形式。即最后一个字符不是m,而是控制字符。
\033[K 清除从光标到行尾的内容
\033[nC 光标右移n行
VT100控制码
VT100控制码归类如下。
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标
VT100数字型控制码
\33[0m 关闭所有属性
\33[1m 设置高亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m -- \33[37m 设置前景色
\33[40m -- \33[47m 设置背景色
\33[1m 设置高亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m -- \33[37m 设置前景色
\33[40m -- \33[47m 设置背景色
VT100关于颜色的说明.
VT100的颜色输出分为,注意要同时输出前景的字符颜色和背景颜色。
背景颜色范围:40----49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色
前景字符颜色:30-----------39
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色
前景字符颜色:30-----------39
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
这样输出一个字符串比较完整如下
echo -ne "\033[字背景颜色;字体颜色m字符串\033[0m"
例:
echo -ne "\033[41;36m something here \033[0m"
常见样例
echo -ne "\033[2J" #清屏
echo -ne "\033[47;30m Andrew Huang \033[0m" #黑底白字输出Andrew Huang
echo -ne "033[5;10H \033[42;33m abc \033[0m" #(10,5)输出绿底黄字。
关于VT100控制码编码
VT100只要printf打印相应的字符串即可支持相应功能,但是因为输出控制符虚列太多于难记,因此可通用一些宏来简化其操作。
参考资料:
http://people.ofset.org/~ckhung/b/mi/textmode.php
文本游戏网站
http://www.textmodegames.com/
VT100编码
http://www.termsys.demon.co.uk/vtansi.htm
***********************************
看BIOS代码的时候发现了Putty KeyPad [VT100] ;故在网上查找了上述一些信息
ASCII码表中ESC下表所示,033位8进制的表示方法
00011011271BESC (escape)溢出阅读全文
0 0
- VT100控制码进行终端扩展显示
- VT100控制码进行终端扩展显示
- VT100控制码说明
- C语言与VT100控制码编程
- VT100控制符文档
- VT100 控制符文档
- ANSI/VT100 Terminal Control Escape Sequences(对控制终端的操作)
- VT100
- 利用终端服务进行远程访问控制
- linux 终端控制码
- linux终端文本颜色显示控制
- 终端控制文件隐藏和显示
- Linux终端ANSI控制码
- Mac终端命令远程开启屏幕共享进行远程控制
- 终端 伪终端 控制终端
- 控制终端
- C语言中控制printf的打印颜色实例及vt100的控制符文档
- C语言中控制printf的打印颜色实例及vt100的控制符文档
- JsonUtil.fromJson -- error
- Java基础
- selenium+java如何进行Q三方登录(续坑)
- javascript,jQuery自执行函数(匿名函数)为什么要把windows, jQuery, undefined作为参数传进去
- View的自由拖动(属性动画的实践之一)
- VT100控制码进行终端扩展显示
- Window环境下mysql读写分离以及主从配置(不错可以的)
- 第二讲 Controller配置汇总
- qml之qmldir文件的使用
- struts2 参数接收不到的原因
- 关于反爬虫,看这一篇就够了
- 信用有多重要?欠款200元,多付4万利息!(附逾期补救办法)
- Struts2 转发和重定向的实现方法
- FFmpeg基础知识总结