[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI
光标位置
回忆上次内容
- 上次了解了 新的转义模式
- \33 逃逸控制字符 esc
- 这个字符让输出退出标准输出流
- 进行控制信息的设置
- 可以设置光标输出的位置
- \33 逃逸控制字符 esc

- 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 的左边
- 可以从当前的纯文字标准输出流里面
- 逃(escape)出来
- 进行控制信息的传输
键盘的进化过程
- 早年间的一体机
- 当年最流行的 DEC VT100

- esc还在1旁边
- 当时还没有在最左上的位置
位置的变化
- 玩一些
terminal上面的游戏时- 可以退出主游戏
- 进行设置、存盘、读档、退出之类的菜单操作
- 知道 什么时候退
- 比知道 怎么玩
更重要
- 比知道 怎么玩

- 功能键在 最左边
- 键盘还没有 统一的标准
标准键盘
- 这是101 标准键盘
- 左上角是esc 标准位置

- 后来放在第一行第一列
escape体现重要性- 还要用边距和F1之类的拉开距离
行业标准
- 键盘开始有了行业标准

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

- (001 1011)2
- 再到ascii应用找一下esc?
ascii
- 找到这个字符

- 这个esc对应的是
- 27 - 10进制
- 对应16进制多少呢?
1b
- 1b 是(1b)16进制
- 对应着(27)10进制
- 对应着(33)8进制

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

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

操作大全
- 位置控制代码

- 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
[oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI的更多相关文章
- (94)Wangdao.com_第二十七天_键盘事件
键盘事件 键盘事件由用户击打键盘触发 主要有 keydown.keyup .keypress三个事件,它们都继承了 KeyboardEvent 接口. keydown 按下键时 触发 ...
- Oracle在linux下命令行无法使用退格键退格,无法使用上下键切换历史命令的解决办法
使用xshell等客户端登录oracl时在命令行无法使用退格键也无法使用上下键切换历史命令可以使用rlwrap解决 1,linux环境 2,下载rlwrap wget http://files.cnb ...
- C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节
C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...
- 推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF_TDM_Airbnb Embedding_Item2vec等)、召回路径简介、多路召回融合]
1.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回.粗排.精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板: 粗排是初筛,一般不会上复杂模型: 精排是整个推荐环节的重 ...
- C Primer Plus_第5章_运算符、表达式和语句_编程练习
Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...
- 你知道C#中的Lambda表达式的演化过程吗
你知道C#中的Lambda表达式的演化过程吗? 阅读目录 委托的使用 匿名方法 Func和Action Lambda的诞生 那得从很久很久以前说起了,记得那个时候... 懵懂的记得从前有个叫委托的东西 ...
- java画图程序_图片用字母画出来_源码发布_版本二
在上一个版本:java画图程序_图片用字母画出来_源码发布 基础上,增加了图片同比例缩放,使得大像素图片可以很好地显示画在Notepad++中. 项目结构: 运行效果1: 原图:http://imag ...
- ARM核心板_迅为4418核心板_高稳定超轻薄_研发超灵感
ARM核心板_迅为4418核心板_三星四核S5P4418处理器 4418核心板正面: 4418核心板反面:4418核心板尺寸图:详情了解:https://item.taobao.com/item.ht ...
- 【转】你知道C#中的Lambda表达式的演化过程吗?
[转]你知道C#中的Lambda表达式的演化过程吗? 那得从很久很久以前说起了,记得那个时候... 懵懂的记得从前有个叫委托的东西是那么的高深难懂. 委托的使用 例一: 什么是委托? 个人理解:用来传 ...
- 独家专访|浙江执御:为何接受富安娜入股而不选VC?_深圳市跨境电子商务协会_新浪博客
独家专访|浙江执御:为何接受富安娜入股而不选VC?_深圳市跨境电子商务协会_新浪博客 http://blog.sina.com.cn/s/blog_13cb5d69e0102vuvk.html
随机推荐
- Semantic Kernel入门系列:利用Handlebars创建Prompts functions
引言 本章我们将学习通过Handlebars Prompts Template来创建Prompts functions. 什么是Handlebars? Handlebars是一个流行的 JavaScr ...
- 本地项目文件上传到git
初始化项目: git init 与服务器项目关联:git remote add origin "http://**************************/r/ruoyi.git&q ...
- HTML——input之单行文本框
在 HTML 中,把 <input> 标签的 type 属性设置为 text 可以表示单行文本框,又叫做常规文本框.具体语法格式如下: <input type="text& ...
- 华为云大咖说:开发者应用AI大模型的“道、法、术”
本文分享自华为云社区<华为大咖说 | 企业应用AI大模型的"道.法.术" --道:认知篇>,作者:华为云PaaS服务小智. 本期核心观点 上车:AGI是未来5-10年内 ...
- iOS面试题详解-开篇
一.前言 转眼之前,已经毕业5年,从事iOS开发5年.5年的时间说长不长,却把我从刚毕业的毛头小伙子变成了现在的"中年大叔",不仅仅是外表还有心态. 一方面不愿意接收自己形体的改变 ...
- 微信小程序学习随笔
scroll-view与view 要做出滚动视图的效果 <scroll-view> <view id="1">11</view> <vie ...
- C++笔记(9) 异常
程序有时会遇到运行阶段错误,导致程序无法正常走下去.对于这种问题,处理方法主要有: 1.调用abort() Abort()函数原型位于头文件cstdlib,其典型实现是向标准错误流(即cerr使用的错 ...
- Qt--点击按钮弹出一个对话框
本文简要说明,如何实现点击按钮弹出一个文本框. 1)首先创建工程,我们就创建一个QMainWindow,不选择UI,就好了. 2)然后再单独创建一个C++类文件,最后得到的工程代码如下: 由于在创建m ...
- ETL工具-nifi干货系列 第十三讲 nifi处理器QueryDatabaseTable查询表数据实战教程
1.处理器QueryDatabaseTable,该组件生成一个 SQL 查询,或者使用用户提供的语句,并执行它以获取所有在指定的最大值列中值大于先前所见最大值的行.查询结果将被转换为 Avro 格式, ...
- Scaling Memcache at Facebook
Memcached 是一种众所周知的.简单的内存缓存解决方案.本文描述了 Facebook 如何利用 memcached 作为构建块来构造和扩展一个分布式键值存储支持世界上最大的社交网络. 1.I ...