当前位置: 首页 > news >正文

[oeasy]python0081_[趣味拓展]ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI

光标位置

回忆上次内容

  • 上次了解了 新的转义模式
    • \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

图片描述

  • esc1 左边
    • 还没有 出现在最左上的位置

位置的变化

  • 玩一些terminal上面的游戏时
    • 可以用 esc 退出游戏环境
      • 进入菜单
      • 进行设置、存盘、读档、退出之类的操作

图片描述

  • 知道 什么时候退
    • 比知道 怎么玩重要😄
  • 键盘还没有 统一的标准
    • 功能键 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

http://www.lryc.cn/news/119049.html

相关文章:

  • 第十六次CCF计算机软件能力认证
  • 关于Postman如何配置随请求携带token
  • 逆向破解学习-登山赛车
  • linux下实现生产者和消费者 pv操作
  • 十六、遥感影像识别
  • 源码角度分析@configuration和@component不同
  • 实现分布式事务:Java与MySQL的XA事务协调
  • 如何通过CRM系统进行成功的客户生命周期管理?
  • Leetcode 977. 有序数组的平方
  • vue3中使用toValue
  • 阿里云国际版CDN使用教程!
  • 【docker】Dockerfile构建镜像常用指令:
  • Java课题笔记~ 会话跟踪
  • HbuildX生成安卓签名证书
  • 在Ruoyi中采用Ajax动态生成Echarts图表实践
  • 资讯速递 | ArkUI-X 预览版已正式开源!
  • HTML <select> 标签
  • Flutter:文件上传与下载(下载后预览)
  • [前端系列第6弹]Ajax简明教程:轻松实现Web页面的异步交互
  • ssh-keygen 做好免密登录后不生效
  • 【Java可执行命令】(十八)可视化监控和管理工具 jconsole:获取 JVM的内存使用情况、线程活动、GC 行为等重要指标的可视化工具 ~
  • leetcode做题笔记66
  • 【docker】设置 docker 国内镜像报错,解决方案
  • mac安装nvm管理工具遇到的问题和解决方法
  • DocX 生成Word
  • 数据库新闻速递 -- POSTGRESQL 正在蚕食数据库市场 (翻译)
  • PAT 1085 Perfect Sequence
  • 软件测试面试夺命连环十七问,你答得上来么?这都不会建议多学!
  • 【学习FreeRTOS】第5章——FreeRTOS任务挂起与恢复
  • gitblit-使用