• ANSI的Escape序列屏幕控制码(转)


    x1b[42D(33[42d)(u001B[42d)代表光标左移42个字符, 是ANSI的Escape序列屏幕控制码(用于telnet等)

    在linux console显示各种颜色的信息可以使用特殊的符号串:escape sequence code.通过使用escape sequence code可以在linux终端以高亮,粗体,闪烁、多种颜色等方式展示消息

    下面以实例说明:

    在终端打印hello world

    如果加上escape sequence code就可以调整打印在终端上的消息属性:

    33[34m 就是 escape sequence code

    33[34m Hello Colorful World!整个字符串的处理过程为:

    1.读到 33,说明后面的字符是ANSI escape sequence,会特殊处理

    2.使用 [34m 来设定终端的前景色为蓝色

    3.打印 Hello Colorful World,颜色为蓝色

    33[ 实际上在输入的文本信息中作为一个特殊标识,终端读到 33 字符的时候,识别出这是一个escape character;将切换到escape模式。然后读取“[” 字符移入到CSI模式(Command Sequence Introduction (CSI) mode),在CSI模式下,终端读取这些ASCII码用分号“;”隔开,直到读入一个完整的动作指令。上面打印Hello Colorful World的例子里面

    33 作为escape character, 通知终端切换到escape模式;

    [ CSI的开始;

    34 读入的参数;

    m 制定将要执行的动作

    字背景颜色范围:40—-49
    40:黑
    41:深红
    42:绿
    43:黄色
    44:蓝色
    45:紫色
    46:深绿
    47:白色

    字颜色:30———–39
    30:黑
    31:红
    32:绿
    33:黄
    34:蓝色
    35:紫色
    36:深绿
    37:白色

    ANSI控制码的说明
    33[0m 关闭所有属性
    33[1m 设置高亮度
    33[4m 下划线
    33[5m 闪烁
    33[7m 反显
    33[8m 消隐
    33[30m — 33[37m 设置前景色
    33[40m — 33[47m 设置背景色
    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 显示光标

  • 相关阅读:
    2020.10.23 19级training 补题报告
    2020.10.17 天梯赛练习 补题报告
    2020.10.16 19级training 补题报告
    2020.10.9 19级training 补题报告
    2020.10.10 天梯赛练习 补题报告
    2020.10.3 天梯赛练习 补题报告
    2020.10.2 19级training 补题报告
    第十届山东省ACM省赛复现补题报告
    VVDI Key Tool Plus Adds VW Passat 2015 Key via OBD
    Xhorse VVDI Prog Software V5.0.3 Adds Many MCUs
  • 原文地址:https://www.cnblogs.com/java-meng/p/15189251.html
Copyright © 2020-2023  润新知