zoukankan      html  css  js  c++  java
  • 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 显示光标

  • 相关阅读:
    POJ 3468 A Simple Problem with Integers
    BZOJ 4430 Guessing Camels
    POJ 2309 BST
    POJ 1990 MooFest
    cf 822B Crossword solving
    cf B. Black Square
    cf 828 A. Restaurant Tables
    Codefroces 822C Hacker, pack your bags!
    [HDU 2255] 奔小康赚大钱
    [BZOJ 1735] Muddy Fields
  • 原文地址:https://www.cnblogs.com/java-meng/p/15189251.html
Copyright © 2011-2022 走看看