光标位置
回忆上次内容
- 上次讲了 三引号的输出
三引号中
- 回车和引号 都会 被原样输出
\还是需要从\\转义
黑暗森林 快被摸排清了
还有哪个 转义序列
- 没 研究过吗?🤔
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/cbd403fd2e1d3a0929f703927fbe4467.png)
\e是 干什么的?🤔
回忆转义
转义转义
- 转化含义
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/c3db61c6fbd57b8fcf60b96d6f2fef71.png)
\反斜杠(backslash)加了之后字符就不是原来的意思了
- 转义么
转义转义
- 转化含义
所以
\反斜杠这个字符- 也叫做转义字符
Escape character \b这两个字符的序列算是一个转义序列Escape sequence\这个转义字符会让\b转义序列- 转义为
Backspace这个含义 Backspace退格就是这个序列转化含义之后的含义
- 转义为
这个转化后的含义也对应一个ascii字符
- 就是
\b - 键盘上的退格对应的数值就是
8
- 就是
- 也叫做转义字符
转义 Escape
\e是什么意思呢?
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/cbd403fd2e1d3a0929f703927fbe4467.png)
- 转义之后的的含义竟然是 escape
搜索结果
- 来捋一捋🤔
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/cbd403fd2e1d3a0929f703927fbe4467.png)
\是转义字符- 要和后面的字符一起构成转义序列
\e是转义序列- 转义的含义是 escape
所谓转义转义
- 转化含义
- 转义序列
\e对应的字符含义是Escape - 再次逃逸出去
- 能逃去到哪里呢?
逃逸
- 从标准输出序列中逃逸出来
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/30ff190ecc067944fab45a225119fcb7.png)
可以让输出
从当前的字符串序列中
- 逃逸(Escape)出去
后面的内容
- 可就不是 输出的文本 了
而是 控制序列(Control Sequence)
[10;20H控制 输出位置- 在
第10行第20列进行输出
- 在
这种控制方法
在今天被称为
- ANSI escape code 标准
- 我们来试试
动手实验
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/77b0a56d001d825f3e3cb571e89d1917.png)
- 真的可以定位输出
- 从正常的输出流逃逸到了控制序列!!!
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/0d8afca84497da1dcee6fd92e3387a27.png)
- 那为什么有控制序列呢?
缘起
电传打字机 输出的颜色
只能通过 控制色带(类似于墨盒)
来控制 打印颜色的深浅
- 是物理过程
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/a7e172c5ac798a4377cc6f89051ac66d.png)
早期的终端
- 通过调节 显示器亮度 来改变显示效果
各个终端的 制造商
- 都有 自己独特的 控制字符
- 这些特殊字符 是和 机器相关 的
- 彼此 并不兼容
但只要 接受到 这些控制字符
- 终端 就可以 调整输出方式
比如
在 某个横纵坐标位置
[x,y]- 输出字符
- 这就是 数字过程了
统一标准
但是不同终端
- 控制方式不同
- 可能 造成显示状态
异常 - 远程终端输出结果不可控
- 需要一个关于控制字符的统一标准
1964 年
ISO 646- 在欧洲以
ECMA-6的形式存在 后来被
ANSI(American National Standards Institute)- 整合为工业标准
- 叫做 ANSI X3.64
- 在欧洲以
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/035167b925001eba0b34d47736b2ce74.png)
是不是很像ascii
- 而且包括了 整个黑暗森林
本来 在各种电传打字机 中实现支持
- 现在在
terminal软件中实现支持
- 现在在
esc 键
Teletype Model ASR-33 终端键盘
- 数据通信行业 最受欢迎的终端之一
1963 年推出
- 注意 shift 和 ctrl 都已经出现
- Alt Mode 出现在第 1 列
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/9325b99a24d10703351d0b4ebbf344f9.png)
\e这个转义序列 有了对应的按键吗?ALT MODE- 是用来 切换模式的 特殊按键
- 这是当时的
esc键 吗?
总结
这次了解了 新的转义模式
\33 逃逸控制字符 esc
- 这个字符让输出退出标准输出流
进行控制信息的设置
- 可以设置光标输出的位置
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/6a69bca75ce5a77c7d71ec0ad5839924.png)
ASR33中的ALT MODE
- 是 今天的ESC吗????🤔
![[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI](https://img-hello-world.oss-cn-beijing.aliyuncs.com/imgs/9325b99a24d10703351d0b4ebbf344f9.png)
- 我们下次再说!👋
- 蓝桥->https://www.lanqiao.cn/course...
- github->https://github.com/overmind19...
- gitee->https://gitee.com/overmind198...
- 视频->https://www.bilibili.com/vide... 作者:oeasy

