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

 
添加图片注释,不超过 140 字(可选)
 
  • ASR33中的ALT MODE
  • 是 今天的ESC键吗????
 

 
添加图片注释,不超过 140 字(可选)
查询文档

 
添加图片注释,不超过 140 字(可选)
 
  • 最开始的时候
  • 还没有esc键
 
  • 使用ctrl + shift + k
  • 实现esc效果
 
  • 后来的键盘
  • 有了 实体的esc键
 
escape 跳出
  • 现在键盘都有这个按键
  • 一般在左上角
  • 用来
  • 退出当前应用/游戏
  • 跳出菜单
 
 

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

 
添加图片注释,不超过 140 字(可选)
 
  • esc 在1 左边
  • 还没有 出现在最左上的位置
 
位置的变化
  • 玩一些terminal上面的游戏时
  • 可以用 esc 退出游戏环境
  • 进入菜单
  • 进行设置、存盘、读档、退出之类的操作
 
 

 
添加图片注释,不超过 140 字(可选)
 
  • 知道 什么时候退
  • 比知道 怎么玩更重要
 
  • 键盘还没有 统一的标准
  • 功能键 F1-F10
  • 在 最左边
 
 
标准键盘
  • 101键盘布局 成为经典
  • 左上角是esc 标准位置
 

 
添加图片注释,不超过 140 字(可选)
 
  • 后来放在 左上角
  • 用边距和F1 拉开距离
  • 体现escape重要性
 
行业标准
  • 键盘开始有了标准布局
  • 并形成了工业标准
 

 
添加图片注释,不超过 140 字(可选)
 
  • 可以在ascii字符集里面
  • 找到esc 这个字符 么?
 
esc
  • 在下图中尝试找到esc

 
添加图片注释,不超过 140 字(可选)
 
  • esc 对应
  • (001 1011)2进制
 
  • 再到ascii应用中
  • 找一下esc?
 
ascii
  • 使用apt
  • 安装ascii这个应用
 
sudo apt install ascii
  • 找到这个字符

 
添加图片注释,不超过 140 字(可选)
 
  • 这个esc对应的是
  • (27)10进制
  • (1B)16进制
 
  • 这个(1B)16进制
  • 是怎么得到的呢?
 
1b
  • 使用hex函数
  • 可以得到
  • 数字的十六进制形式字符串
  • hexadecimal
 
 

 
添加图片注释,不超过 140 字(可选)
 
  • 如果是八进制呢?

 
添加图片注释,不超过 140 字(可选)
不同进制 表现形式
  • (1b)16进制
  • 对应着(27)10进制
  • 对应着(33)8进制
 

 
添加图片注释,不超过 140 字(可选)
 
  • 上面的分别是
  • 十六进制形态
  • 十进制形态
  • 八进制形态
 
  • 正如下面

 
添加图片注释,不超过 140 字(可选)
 
  • 不同的形态都可以
  • 用来转义吗?
 
不同形态
  • 不同的转义方式
  • 不影响功能
 

 
添加图片注释,不超过 140 字(可选)
 
  • 使用转义序列
  • 或者16进制转移方式
  • 或者8进制转移方式
 

 
添加图片注释,不超过 140 字(可选)
 
  • 在输出时
  • 没有差别
  • 都是换行效果
 
escape控制码大全
  • CSI 是
  • Control Sequence Introducer
  • 就是esc加[
  • esc就是\033
  • 用的是几进制的形式?
 
 

 
添加图片注释,不超过 140 字(可选)
 
  • 可以有各种方式
  • 控制位置
 
\033
  • 八进制的 形式

 
添加图片注释,不超过 140 字(可选)
 
  • \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 显示光标
光标的自由
  • 输出字符的位置
  • 以前是固定的
  • 仿佛被牢牢锁住
 

 
添加图片注释,不超过 140 字(可选)
 
  • 真的能 挣脱固定位置的锁链 吗?

 
添加图片注释,不超过 140 字(可选)
 
  • 好期待?
总结
  • 本次了解了键盘演化的过程
  • ESC 从 组合键
  • 到 独立按键
 

 
添加图片注释,不超过 140 字(可选)
 
  • ESC 的作用
  • 是 进入控制序列
  • 配置控制信息
 
  • 控制信息
  • \033[y;xH 设置光标位置
  • \033[2J 清屏
 


[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI的更多相关文章

  1. duilib WindowImplBase BUG修复 --- 按一次ESC键, 关闭多个窗口

    BUG造成的影响 继承自WindowImplBase的窗口类, 如果没有重写重写ResponseDefaultKeyEvent而由WindowImplBase默认处理的话, 会导致按一次有ESC键, ...

  2. qt之esc键

    Esc键对大家来说实在熟悉不过的了,在Qt中Esc键也会默认的进行一些事件的触发,今天对Esc键测试了一下,突然发现不像我想象的那样,在QDialog中按下Esc键会默认调用reject()方法而不是 ...

  3. QDialog之屏蔽Esc键

    简述 Qt中Esc键会在一些控件中默认的进行一些事件的触发,比如:QDialog,按下Esc键窗口消失.大多数情况下,我们不需要这么做,那么就需要对默认事件进行屏蔽. 简述 源码分析 事件过滤器 事件 ...

  4. MFC非模态对话框中屏蔽ESC键

    个人的编程经验认为:对于非模态对话框,按下ESC键和点击红叉都会响应OnCancel()函数,而不会去响应OnClose()函数. 我们都知道,如果想屏蔽Enter键,只须重写OnOK()函数即可(重 ...

  5. 【Qt】QDialog之屏蔽Esc键【转】

    简述 Qt中Esc键会在一些控件中默认的进行一些事件的触发,比如:QDialog,按下Esc键窗口消失.大多数情况下,我们不需要这么做,那么就需要对默认事件进行屏蔽. 简述 源码分析 事件过滤器 事件 ...

  6. MFC对话框中解决回车键、ESC键退出的方法

    BOOL CYourDlg::PreTranslateMessage(MSG* pMsg) { if(pMsg->message==WM_KEYDOWN&&pMsg->wP ...

  7. MFC对话框屏蔽Enter和ESC键

    MFC对话框屏蔽Enter和ESC键参考:http://www.docin.com/p-122354833.html 方法一重载PreTranslateMessage函数 BOOL CXXDlg::P ...

  8. Oracle在linux下命令行无法使用退格键退格,无法使用上下键切换历史命令的解决办法

    使用xshell等客户端登录oracl时在命令行无法使用退格键也无法使用上下键切换历史命令可以使用rlwrap解决 1,linux环境 2,下载rlwrap wget http://files.cnb ...

  9. 汇编题目:在屏幕中间显示a-z的所有字母,按ESC键改变字符颜色

    在屏幕中显示a-z字母,按ESC键改变字符颜色. ;程序功能:在屏幕中间同一点显示a-z的所有字符 ; 1.使用cpu循环空运行实现延迟 ; 2.按ESC键改变正在循环显示的字符的颜色 ; 3.程序完 ...

  10. 在屏幕中间显示,按ESC键后改变字符的颜色

    程序功能:编写程序在屏幕中间显示“a”~“z”,并可以让人看清,这个任务比较好实现. (1)在b800:[ 160*12+40*2]处存入a的ASCII码.(2)在循环中使用一个10000000000 ...

随机推荐

  1. java的synchronized有几种加锁方式

    在Java中,synchronized关键字提供了内置的支持来实现同步访问共享资源,以避免并发问题.synchronized主要有三种加锁方式: 1.同步实例方法 当一个实例方法被声明为synchro ...

  2. npm install current-device js 端判断程序运行的设备

    https://github.com/matthewhudson/current-device CURRENT-DEVICE        This module makes it easy to w ...

  3. 『手撕Vue-CLI』添加终端用户交互

    前言 经过上一篇文章的梳理,实现了可以从 GitHub 上拉取模板项目名称,已经可以得知可使用的模板有哪些了,那么我觉得是不是要进行选择呢?所以这一篇文章就来实现终端用户交互,让用户可以自己选择想要使 ...

  4. 基于 GoLang 编写的 IOT 物联网在线直播抓娃娃企业级项目

    基于 GoLang 编写的 IOT 物联网在线直播抓娃娃企业级项目 引言 前几年,娱乐物联网的热度很高.我当时所在的公司启动了一个将线下娃娃机的玩法,迁移到线上的项目,因此公司决定开发一个在线直播抓娃 ...

  5. NOIP模拟55

    T1 Skip 解题思路 正解给的是线段树维护单调栈,但是我不会.. CDQ 维护斜率可做!!! 先得出一个朴素的 DP 方程:设 \(f_i\) 表示最后一场是 i 的最优解. 转移方程就是 \(f ...

  6. JavaSE的运算符

    [Top] 算术运算 分类 运算符 算数运算符 * / + - % ++ -- 赋值运算符 +=, -=, /=, *=, %=(扩展赋值运算符), = 比较(关系)运算符 == != > &l ...

  7. 设计模式:命令模式(Command Pattern)及实例

     好家伙,   0.什么是命令模式 在软件系统中,"行为请求者"与"行为实现者"通常呈现一种"紧耦合". 但在某些场合,比如要对行为进行&q ...

  8. 一文了解 - -> SpringMVC

    一.SpringMVC概述 Spring MVC 是由Spring官方提供的基于MVC设计理念的web框架. SpringMVC是基于Servlet封装的用于实现MVC控制的框架,实现前端和服务端的交 ...

  9. 微服务引入swagger生成接口的json导入到yapi配置方法 数据管理 开启url导入

    微服务引入swagger生成接口的json导入到yapi配置方法 数据管理 开启url导入 yapi安装参考window10 yapi安装 swagger配置 及 Error: getaddrinfo ...

  10. Bind DNS服务——带KEY的区域传送与子域授权

    Linux基础服务--Bind DNS服务 Part3 带KEY的区域传送与子域授权 带KEY的区域传送 上文提到了区域传送,但实际上在区域传送的时,传送的区域文件并不会被加密.因此一般的区域传送并不 ...