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 显示光标
 
VT100数字型控制码
 
   \33[0m 关闭所有属性 
  \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:白色 
这样输出一个字符串比较完整如下
   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)溢出

------------------------------

最早VT100是指一种型号的终端机,用于连接大中小各型计算机的。
现在泛指兼容VT100的一种终端标准。包含传输协议、显示行列数等标准。是一种终端格式,定义了屏幕大小、键盘按键等信息
早期的计算机就是一台大机柜,不像现在有键盘显示器鼠标。。。
那时想要和它交互信息就需要终端机,提供显示器和键盘等人机交互界面。也可以用于多用户的共享。有点像今天的虚拟化和远程桌面哈哈。。终端只负责显示和输入,程序在远程主机上运行。
在PC微机普及的今天,像VT100之类的专用的终端机已经逐渐退出舞台,不过仍有些特殊设备,如带有console口的路由器,网络交换机,10多年前的银行邮局柜台等需要终端机做用户界面。有特殊终端需求的用户可以在电脑上通过软件虚拟终端机配合串口来实现终端仿真。
常用的终端仿真程序有:windows自带的超级终端、SecureCRT、putty等。。。这样就可以把带有串口的普通电脑当作终端机使用了

原创粉丝点击