开发者社区> 问答> 正文

怎么解析出vt100控制码

想写一个telnet安卓应用程序,如何读取流里的VT100控制码并作出对应操作

展开
收起
爵霸 2016-03-03 16:48:00 4668 0
1 条回答
写回答
取消 提交回答
  • VT100 一个终端类型定义,VT100控制码 用来在终端扩展显示的代码。比如果终端上任意坐标用 不同的颜色显示字符。

    所有的控制符 033打头 (即ESC 的ASCII码)用输出字符语句来输出。可以在命令行用echo 命 令,或者在C程序中用printf 来输出VT100 的控制字符。

    具体格式有两种,

         一种数字形式, 
    

    033[<数字>m .

    如 033[40m ,表示让后面字符输出用背景黑色输出 033[0m表示取消前面的设置。

        另一种 控制字符形式。 
    

    033[K 清除从光标到行尾的内容

    033[nC 光标右移n 行

    输出时, 也可以用 ^[来代替.

    VT100 控制码

    VT100控制码归类如下。

    033[0m 关闭所有属性

    \033[1m 设置高亮度 
    
    \033[4m 下划线 
    
    \033[5m 闪烁 
    
    \033[7m 反显 
    
    \033[8m 消隐 
    
    \033[30m -- \033[37m 设置前景色 
    
    \033[40m -- \033[47m 设置背景色 
    
    \033[nA 光标上移n 行 
    
    \033[nB 光标下移n 行 
    
    \033[nC 光标右移n 行 
    
    \033[nD 光标左移n 行 
    
    \033[y;xH设置光标位置 
    
    \033[2J 清屏 
    
    \033[K 清除从光标到行尾的内容 
    
    \033[s 保存光标位置 
    
    \033[u 恢复光标位置 
    
    \033[?25l 隐藏光标 
    
    \033[?25h 显示光标 
    

    VT100 关于颜色的说明.
    VT100 的颜色输出分为,注意要同时输出前景的字符颜色和背景颜色。

    字背景颜色范围:40----49

     40:黑 
    
     41:深红 
    
     42:绿 
    
     43:黄色 
    
     44:蓝色 
    
     45:紫色 
    
     46:深绿 
    
     47:白色 
    
     字颜色:30-----------39 
    
     30:黑 
    
     31:红 
    
     32:绿 
    
     33:黄 
    
     34:蓝色 
    
     35:紫色 
    
     36:深绿 
    
     37:白色 
    

    这样输出一个字符串比较完整如下

    echo "\033[字背景颜色;字体颜色m 字符串\033[0m" 

    例:

    echo "\033[41;36m something here \033[0m" 
    

    VT100 的编程定义

    象VT100这种固定又难定的编程完全可以用宏定义来简化编程使用.

    2019-07-17 18:51:40
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载