[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI

光标位置

回忆上次内容

  • 上次了解了 新的转义模式
    • \33 逃逸控制字符 esc
      • 这个字符让输出退出标准输出流
      • 进行控制信息的设置
        • 可以设置光标输出的位置

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第1张图片

  • ASR33中的ALT MODE
    • 是 今天的ESC吗????

查询文档

  • http://bitsavers.org/communications/teletype/33/310B_Vol_1_33_Teletypewriter_Sets_Technical_Manual_Sep74.pdf

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第2张图片

  • 在当时还没有esc键的时候
    • 使用ctrl + shift + k实现
    • esc效果
  • 后来的键盘
    • 都有了 专门的esc 键

escape 跳出

  • 现在键盘都有这个按键
    • 一般在左上角
    • 退出当前游戏
    • 跳出菜单一般用这个

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第3张图片

  • 上图esc在
    • 1 的左下
    • Q 的左边
  • 可以从当前的纯文字标准输出流里面
    • 逃(escape)出来
    • 进行控制信息的传输

键盘的进化过程

  • 早年间的一体机
    • 当年最流行的 DEC VT100

  • esc还在1旁边
    • 当时还没有在最左上的位置

位置的变化

  • 玩一些terminal上面的游戏时
    • 可以退出主游戏
    • 进行设置、存盘、读档、退出之类的菜单操作
  • 知道 什么时候退
    • 比知道 怎么玩重要

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第4张图片

  • 功能键在 最左边
    • 键盘还没有 统一的标准

标准键盘

  • 这是101 标准键盘
    • 左上角是esc 标准位置

  • 后来放在第一行第一列
    • escape体现重要性
    • 还要用边距和F1之类的拉开距离

行业标准

  • 键盘开始有了行业标准

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第5张图片

  • 可以在ascii里面找到这个esc字符么?

esc

  • 在下图中尝试找到esc

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第6张图片

  • (001 1011)2
  • 再到ascii应用找一下esc?

ascii

  • 找到这个字符

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第7张图片

  • 这个esc对应的是
    • 27 - 10进制
  • 对应16进制多少呢?

1b

  • 1b 是(1b)16进制
    • 对应着(27)10进制
    • 对应着(33)8进制

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第8张图片

  • 上面的分别是
    • 十六进制形态
    • 十进制形态
    • 八进制形态
  • 正如下面

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第9张图片

  • 不同的形态都可以
    • 用来转义吗?

不同形态

  • 不同的转义方式不影响功能

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第10张图片

操作大全

  • 位置控制代码

[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI_第11张图片

  • CSI 是
    • Control Sequence Introducer
    • 就是esc加[
      • esc就是\033
      • 用的是几进制的形式?

\033

  • 八进制的 形式

图片描述

  • \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 显示光标
  • 我们先试试\033[2J

总结

  • 本次了解了键盘演化的过程
    • ESC 从 组合键
    • 到 独立按键

  • ESC 的目的
    • 是进入控制序列
    • 配置控制信息
  • 控制信息
    • \033[y;xH 设置光标位置
    • \033[2J 清屏
  • 这到底怎么控制来着???
  • 我们下次再说!
  • 蓝桥->https://www.lanqiao.cn/courses/3584
  • github->https://github.com/overmind1980/oeasy-python-tutorial
  • gitee->https://gitee.com/overmind1980/oeasypython
  • 视频->https://www.bilibili.com/video/BV1CU4y1Z7gQ 作者:oeasy

你可能感兴趣的:(python,linux,运维,服务器)