光标位置 回忆上次内容
  • 上次了解了 新的转义模式
  • \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中CAS算法的集中体现:Atomic原子类库,你了解吗?

    一.写在开头 在前面的博文中我们学习了volatile关键字,知道了它可以保证有序性和可见性,但无法保障原子性,结局原子性问题推荐使用synchronized.Lock或者AtomicInteger: ...

  2. Xenocode Postbuild——C#代码混淆器使用方法

    安装 不多作赘述 使用步骤 选择[application]选项卡,选择[add],如果添加的是exe,则[Preset]选择第一项,添加的是dll则选择第二项 选择[Protect]选项卡,将两个都勾 ...

  3. Windows平台git clone文件路径太长报错

    问题描述 在Windows下拉取一些比较大的开源项目经常会提示文件路径太长(filename too long),然后死活都不成功 解决办法 1.配置git git config --system c ...

  4. 【论文笔记】轻量级网络MobileNet

    [深度学习]总目录 MobileNet V1:<MobileNets: Efficient Convolutional Neural Networks for MobileVision Appl ...

  5. Java中try catch finally 关键字

    异常处理中的几个常用关键字(try catch finally throw throws) 异常处理 java中提供一套异常处理机制,在程序发生异常时,可以执行预先设定好的处理程序, 执行完成后,程序 ...

  6. js随机数 比较运算符

       // 生成一个随机数 1 - 100 范围内的随机数         // 大家先记住 JavaScript 生成随机数值的 公式         // 如果要 生成 a - b  范围内的数值 ...

  7. LeetCode 297. Serialize and Deserialize Binary Tree 二叉树的序列化与反序列化(C++/Java)

    题目: Serialization is the process of converting a data structure or object into a sequence of bits so ...

  8. linux系统下,安装maven教程

    1.下载 官网:https://maven.apache.org/download.cgi 2.上传包 将下载好的maven安装包apache-maven-3.8.6-bin.tar.gz放在磁盘的 ...

  9. mybatis中的useGeneratedKeys="true"

    Springboot中 Mybatis 配置文件 Mapper参数useGeneratedKeys="true" keyProperty="id"useGene ...

  10. Redis数据类型有哪些?

    a.String(字符串) b.Hash(hash表) c.List(链表) d.Set(集合) e.SortedSet(有序集合zset)