前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI

[oeasy]python0066_控制序列_光标位置设置_ESC_逃逸字符_CSI

原创
作者头像
oeasy
发布2023-01-29 19:32:00
1.4K0
发布2023-01-29 19:32:00
举报

光标位置

回忆上次内容

  • 上次讲了 三引号的输出
  • 三引号中
    • 回车和引号 都会 被原样输出
    • \ 还是需要从 \\转义
  • 黑暗森林 快被摸排清了
    • 还有哪个 转义序列
      • 没 研究过吗??
图片描述
图片描述
  • \e是 干什么的??

回忆转义

  • 转义转义
    • 转化含义
图片描述
图片描述
  • \反斜杠(backslash)加了之后
  • 字符就不是原来的意思了
    • 转义么
  • 转义转义
    • 转化含义
  • 所以\反斜杠这个字符
    • 也叫做转义字符Escape character
    • \b 这两个字符的序列算是一个转义序列 Escape sequence
    • \ 这个转义字符会让 \b转义序列
      • 转义为 Backspace 这个含义
      • Backspace退格就是这个序列转化含义之后的含义
    • 这个转化后的含义也对应一个ascii字符
      • 就是 \b
      • 键盘上的退格对应的数值就是8

转义 Escape

  • \e是什么意思呢?
图片描述
图片描述
  • 转义之后的的含义竟然是 escape

搜索结果

  • 来捋一捋?
图片描述
图片描述
  • \是转义字符
    • 要和后面的字符一起构成转义序列
  • \e是转义序列
    • 转义的含义是 escape
  • 所谓转义转义
    • 转化含义
    • 转义序列\e对应的字符含义是Escape
    • 再次逃逸出去
    • 能逃去到哪里呢?

逃逸

  • 从标准输出序列中逃逸出来
图片描述
图片描述
  • 可以让输出
    • 从当前的字符串序列中
      • 逃逸(Escape)出去
    • 后面的内容
      • 可就不是 输出的文本 了
  • 而是 控制序列(Control Sequence)
    • [10;20H 控制 输出位置
      • 第10行第20列进行输出
  • 这种控制方法
    • 在今天被称为
      • ANSI escape code 标准
  • 我们来试试

动手实验

图片描述
图片描述
  • 真的可以定位输出
  • 从正常的输出流逃逸到了控制序列!!!
图片描述
图片描述
  • 那为什么有控制序列呢?

缘起

  • 电传打字机 输出的颜色
    • 只能通过 控制色带(类似于墨盒)
      • 来控制 打印颜色的深浅
        • 是物理过程
图片描述
图片描述
  • 早期的终端
    • 通过调节 显示器亮度 来改变显示效果
    • 各个终端的 制造商
      • 都有 自己独特的 控制字符
    • 这些特殊字符 是和 机器相关 的
    • 彼此 并不兼容
  • 但只要 接受到 这些控制字符
    • 终端 就可以 调整输出方式
  • 比如
    • 在 某个横纵坐标位置[x,y]
      • 输出字符
  • 这就是 数字过程了

统一标准

  • 但是不同终端
    • 控制方式不同
    • 可能 造成显示状态 异常
    • 远程终端输出结果不可控
    • 需要一个关于控制字符的统一标准
  • 1964 年 ISO 646
    • 在欧洲以ECMA-6的形式存在
    • 后来被ANSI(American National Standards Institute)
      • 整合为工业标准
      • 叫做 ANSI X3.64
图片描述
图片描述
  • 是不是很像ascii
    • 而且包括了 整个黑暗森林
  • 本来 在各种电传打字机 中实现支持
    • 现在在 terminal软件 中实现支持

esc 键

  • Teletype Model ASR-33 终端键盘
    • 数据通信行业 最受欢迎的终端之一
  • 1963 年推出
    • 注意 shift 和 ctrl 都已经出现
    • Alt Mode 出现在第 1 列
图片描述
图片描述
  • \e这个转义序列 有了对应的按键吗?
    • ALT MODE
      • 是用来 切换模式的 特殊按键
      • 这是当时的 esc 键 吗?

总结

  • 这次了解了 新的转义模式
    • \33 逃逸控制字符 esc
      • 这个字符让输出退出标准输出流
      • 进行控制信息的设置
        • 可以设置光标输出的位置
图片描述
图片描述
  • ASR33中的ALT MODE
    • 是 今天的ESC吗?????
图片描述
图片描述
  • 我们下次再说!?
  • 蓝桥->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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 光标位置
    • 回忆上次内容
      • 回忆转义
      • 转义 Escape
      • 搜索结果
      • 逃逸
      • 动手实验
      • 缘起
      • 统一标准
      • esc 键
    • 总结
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
    http://www.vxiaotou.com