网站建设收获软件网站开发公司名字
光标位置
回忆上次内容
- 上次了解了 新的转义模式 
- \033 逃逸控制字符 escape 
- 这个字符 让字符串 退出标准输出流
 - 进行控制信息的设置 
- 可以设置 光标输出的位置
 
 
 
 - \033 逃逸控制字符 escape 
 

- ASR33中的ALT MODE 
- 是 今天的ESC键吗????🤔
 
 

查询文档
- http://bitsavers.org/communications/teletype/33/310B_Vol_1_33_Teletypewriter_Sets_Technical_Manual_Sep74.pdf
 

- 最开始的时候 
- 还没有esc键
 
 - 使用ctrl + shift + k 
- 实现esc效果
 
 - 后来的键盘 
- 有了 实体的esc键
 
 
escape 跳出
- 现在键盘都有这个按键 
- 一般在左上角
 - 用来 
- 退出当前应用/游戏
 - 跳出菜单
 
 
 

- 上图esc在 
- 1 的左下
 - Q 的左边
 
 - esc可以 
- 从当前的纯文字标准输出流里面
 - 逃(escape)出来
 - 进行控制信息的传输
 
 
键盘的进化过程
- 后来连接主机(main frame)用的是 
- 终端(terminal)
 
 - 当年最流行的终端 型号是 
- DEC VT100
 
 

- esc 在1 左边 
- 还没有 出现在最左上的位置
 
 
位置的变化
- 玩一些
terminal上面的游戏时- 可以用 esc 退出游戏环境 
- 进入菜单
 - 进行设置、存盘、读档、退出之类的操作
 
 
 - 可以用 esc 退出游戏环境 
 

- 知道 什么时候退 
- 比知道 怎么玩
更重要😄 
 - 比知道 怎么玩
 - 键盘还没有 统一的标准 
- 功能键 F1-F10 
- 在 最左边
 
 
 - 功能键 F1-F10 
 
标准键盘
- 101键盘布局 成为经典 
- 左上角是esc 标准位置
 
 

- 后来放在 左上角 
- 用边距和F1 拉开距离
 - 体现
escape重要性 
 
行业标准
- 键盘开始有了标准布局 
- 并形成了工业标准
 
 

- 可以在ascii字符集里面 
- 找到esc 这个字符 么?
 
 
esc
- 在下图中尝试找到esc
 

- esc 对应 
- (001 1011)2进制
 
 - 再到ascii应用中 
- 找一下esc?
 
 
ascii
- 使用apt 
- 安装ascii这个应用
 
 
sudo apt install ascii
 
- 找到这个字符
 

- 这个esc对应的是 
- (27)10进制
 - (1B)16进制
 
 - 这个(1B)16进制 
- 是怎么得到的呢?
 
 
1b
- 使用hex函数 
- 可以得到 
- 数字的十六进制形式字符串
 - hexadecimal
 
 
 - 可以得到 
 

- 如果是八进制呢?
 

不同进制 表现形式
- (1b)16进制 
- 对应着(27)10进制
 - 对应着(33)8进制
 
 

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

- 不同的形态都可以 
- 用来转义吗?
 
 
不同形态
- 不同的转义方式 
- 不影响功能
 
 

- 使用转义序列 
- 或者16进制转移方式
 - 或者8进制转移方式
 
 

- 在输出时 
- 没有差别
 - 都是换行效果
 
 
escape控制码大全
- 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 显示光标
 
光标的自由
- 输出字符的位置 
- 以前是固定的
 - 仿佛被牢牢锁住
 
 

- 真的能 挣脱固定位置的锁链 吗?
 

- 好期待?
 
总结
- 本次了解了键盘演化的过程 
- 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
 
