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

news2024/9/27 9:28:46

光标位置

回忆上次内容

  • 上次我们研究的比较杂

    • 类型转化
    • 进制转化
    • 捕获异常
    • 版本控制
    • 生成帮助文档
    • 变量的常用类型
    • 变量的生命周期控制
  • 数据类型主要研究了两个

    • 字符串
      • str
    • 整型数字
      • int
  • 字符串型 和 整型数字型变量

    • 是可以相互转化的
  • 加法运算逻辑 会根据操作变量的不同 而不同

    • 整型变量的加法 是真的加
    • 字符串的加法 是字符串拼接
  • 字符串中有一些转义字符

    • \n
    • \r
    • \t
    • 都是什么意思来着??
  • 还有什么没见过的转字符吗??🤔

回忆转义

  • 转义转义
    • 转化含义

图片描述

  • 下图中hello的o
    • 为什么消失了?

图片描述

  • \b 是一个字符
    • 代表的含义是退格
  • hello中的o
    • 被退格符删除了
  • 如果不用chr
    • 想要直接打出上面的效果
    • 应该怎么办呢?

直接加起来

图片描述

  • 想要用\b替换chr(8)
    • 程序报错了

图片描述

  • 续行符(\)之后
    • 有不期待的字符
  • 想要获得同样的字符
    • 应该怎么办呢?

反斜杠的作用

  • \反斜杠(backslash) 在程序里面的作用

    • 是续行符
    • line continuation character
  • 当把\反斜杠(backslash)放入双引号里面之后

    • \反斜杠 就是 转义字符
      • escape character
    • 转义字符
      • 在字符串中有特殊的含义
      • 可以和后面的字符一起
      • 构成转义序列
        • escape sequence

图片描述

  • 在下图中
    • \b 就是转义序列
      • escape sequence
    • \b 这个转义序列
      • 是由两部分组成
        • \ 转义字符
          • escape character
        • b 具体转到的含义

图片描述

  • 这两个字符的序列组合起来的意思
    • 就是退格
    • backspace
  • 还有什么转义字符吗?

换行

  • \n 这个转义序列的意思是
    • line feed
    • 换行

图片描述

  • \r 这个转义序列的意思是
    • carriage return
    • 回车

图片描述

转义序列中文含义英文含义ascii序号
\b退格backspace8
\t制表键tab9
\n换行line feed10
\r回车carriage13
  • 可以看到更多的转义字符吗?

转义 Escape

  • 回忆
    • 可以用八进制
      • \ooo
    • 用十六进制
      • \xhh
    • 来表示转义字符

图片描述

  • 这就是全部转义字符了吗?

控制字符

  • 转义字符
    • 具有一定的控制作用
    • 也被叫做 控制字符
    • control characters
  • 以下就是
    • ascii中的全部转义字符

图片描述

  • 居然有转义序列
    • 转义之后的的含义是 escape

搜索结果

  • 来回顾一下🤔
  • \是转义字符
    • 要和后面的字符一起构成转义序列
  • \e是转义序列
    • 也被称作 逃逸字符
      • escape

图片描述

  • 这 逃逸字符 escape
    • 逃逸指的是什么意思呢?
  • 我们来试试

动手实验

  • 实践证明
    • 直接使用\e是不行的

图片描述

  • 但是可以使用
    • \e 的 8进制形式
      • 用 \033 代替 \e

图片描述

  • 这样可以控制输出字符串的位置!!!

理解Escape

  • 真的可以逃逸出 当前输出序列
    • 控制定位 再输出
  • 从正常的输出流
    • 逃逸到了 控制序列!!!

图片描述

逃逸

  • 从标准输出序列中逃逸出来

图片描述

  • 可以让输出
    • 从当前的字符串序列中
      • 退出(Escape) 出去
    • 后面的内容
      • 可就不是 输出的文本 了
  • 而是 控制序列(Control Sequence)
    • [10;20H 控制 输出位置
      • 第10行第20列进行输出
  • 那为什么有控制序列呢?

缘起

  • 电传打字机 输出的颜色
    • 只能通过 控制色带(类似于墨盒)
      • 来控制 打印颜色的深浅
        • 是物理过程

图片描述

  • 早期的终端
    • 通过调节 显示器亮度
    • 来改变显示效果
    • 各个终端的 制造商
      • 都有 自己独特的 控制字符
  • 这些特殊字符 是和 机器型号相关 的
    • 只要 接受到 这些控制字符
    • 终端 就可以 调整输出方式
    • 但是 并没有统一标准

统一标准

  • 但是不同终端
    • 控制方式不同
    • 可能 造成显示状态 异常
    • 远程终端输出结果不可控
    • 需要一个关于控制字符的统一标准
  • 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 键 吗?

总结

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

图片描述

  • ASR33中的ALT MODE

    • 是 今天的ESC键吗????🤔
  • 我们下次再说!👋

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/838454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

针对java程序员的了解细节操作系统与进程

一、💛 操作系统(浅浅概念):是用来搞管理软件的 1.对下,要管理各种硬件设备 2.对上,要给应用程序提供一个稳定的运行环境 二、💙 进程:正在运行的程序,假如程序没有运行就不叫程序,…

如何在终端设置代理(设置jupyter notebook同理)

设置代理 在终端(我用的gitbash)下执行 set HTTP_PROXYhttp://<user>:<password><proxy server>:<proxy port> set HTTPS_PROXYhttp://<user>:<password><proxy server>:<proxy port>其中&#xff1a; user、password&#…

LabVIEW开发3D颈动脉图像边缘检测

LabVIEW开发3D颈动脉图像边缘检测 近年来&#xff0c;超声图像在医学领域对疾病诊断具有重要意义。边缘检测是图像处理技术的重要组成部分。边缘包含图像信息。边缘检测的主要目的是根据强度和纹理等属性识别图像中均匀区域的边界。超声&#xff08;US&#xff09;图像存在视觉…

SpringMVC视图

SpringMVC视图 视图的作用是渲染数据&#xff0c;将模型Model中的数据展示给客户&#xff0c;SpringMVC中视图的种类有很多&#xff0c;默认有转发视图(InternalResourceView)和重定向视图(RedirectView)。 当工程引入jstl的依赖&#xff0c;转发视图会自动跳转jstlView,若使用…

11.物联网操作系统内存管理

一。STM32编译过程及程序组成 STM32编译过程 程序的组成、存储与运行 MDK生成的主要文件分析 1.STM32编译过程 1.源文件&#xff08;Source code&#xff09;--》目标文件&#xff08;Object code&#xff09; .c(C语言)通过armcc生成.o&#xff0c;.s&#xff08;汇编&…

附件展示 点击下载

效果图 实现代码 <el-table-column prop"attachment" label"合同附件" width"250" show-overflow-tooltip><template slot-scope"scope"><div v-if"scope.row.cceedcAppendixInfoList &&scope.row.ccee…

背包问题详解(动态规划):01背包、完全背包、多重背包

动态规划&#xff1a; 基本思想&#xff1a; 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中&#xff0c; 可能会有很多可行解。没一个解都对应于一个值&#xff0c;我们希望找到具有最优值的解。胎动规划算法与分治法类似&#xff0c;其基本思想也是将待求解…

SpringBoot使用@Autowired将实现类注入到List或者Map集合中

前言 最近看到RuoYi-Vue-Plus翻译功能 Translation的翻译模块配置类TranslationConfig&#xff0c;其中有一个注入TranslationInterface翻译接口实现类的写法让我感到很新颖&#xff0c;但这种写法在Spring 3.0版本以后就已经支持注入List和Map&#xff0c;平时都没有注意到这…

Docker从零到掌握(详解)

目录 1.初识Docker 1.1 为什么使用docker 1.2 Docker技术 1.3.安装Docker 1.4.Docker架构 1.5.配置Docker镜像加速器 2.Docker常用命令 2.1.Docker服务相关的命令 2.2.Docker镜像相关的命令 2.3.Docker容器相关的命令 3. 容器的数据卷 3.1.数据卷的概念和作用 3.2…

Django架构图

1. Django 简介 基本介绍 Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架 使用 Django&#xff0c;只要很少的代码&#xff0c;Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容&#xff0c;并进一步开发出全功能的 Web 服务 Django 本身…

【Shell】基础语法(一)

文章目录 一、shell的介绍二、执行脚本三、shell的基本语法1. 变量的使用2. 变量的分类 一、shell的介绍 Shell的作用是解释执行用户的命令&#xff0c;用户输入一条命令&#xff0c;Shell就解释执行一条&#xff0c;这种方式称为交互式&#xff08;Interactive&#xff09;&a…

刷了3个月的华为OD算法题,总结了270多道,谈谈自己的感悟

目录 一、考研二战&#xff0c;入职华为&#xff0c;反向调剂电子科大深圳二、题目描述三、输入描述四、输出描述五、解题思路六、Java算法源码七、效果展示1、输入2、输出3、说明 大家好&#xff0c;我是哪吒。 最近一直在刷华为OD机试的算法题&#xff0c;坚持一天三道题的节…

计算机网络(6) --- https协议

计算机网络&#xff08;5&#xff09; --- http协议_哈里沃克的博客-CSDN博客http协议https://blog.csdn.net/m0_63488627/article/details/132089130?spm1001.2014.3001.5501 目录 1.HTTPS的出现 1.HTTPS协议介绍 2.补充概念 1.加密 1.解释 2.原因 3.加密方式 对称加…

黑客技术(网络安全)自学

一、黑客是什么 原是指热心于计算机技术&#xff0c;水平高超的电脑专家&#xff0c;尤其是程序设计人员。但后来&#xff0c;黑客一词已被用于泛指那些专门利用电脑网络搞破坏或者恶作剧的家伙。 二、学习黑客技术的原因 其实&#xff0c;网络信息空间安全已经成为海陆空之…

Java事件监听机制

这里写目录标题 先进行专栏介绍再插一句 开始喽事件监听机制分析观察者模式观察者模式由以下几个角色组成&#xff1a;观察者模式的工作流程如下&#xff1a;观察者模式的优点包括&#xff1a;观察者模式适用于以下场景&#xff1a;总结 事件监听机制的工作流程如下&#xff1a…

智能卡通用安全检测指南 思度文库

范围 本标准规定了智能卡类产品进行安全性检测的一般性过程和方法。 本标准适用于智能卡安全性检测评估和认证。 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件&#xff0c;仅注日期的版本适用于本文件。凡是不注日期的引用文件&#xff0c;…

微信小程序如何引入Iconfont

在小程序中引入 Iconfont 可以通过以下步骤进行操作&#xff1a; 打开 Iconfont 网站&#xff08;https://www.iconfont.cn/&#xff09;并登录账号&#xff0c;创建一个项目并添加所需的图标到项目中。 在项目中选中需要使用的图标&#xff0c;点击右上角的 “下载代码” 按钮…

Spring集成Seata

Seata的集成方式有&#xff1a; 1. Seata-All 2. Seata-Spring-Boot-Starter 3. Spring-Cloud-Starter-Seata 本案例使用Seata-All演示&#xff1a; 第一步&#xff1a;下载Seata 第二步&#xff1a;为了更好看到效果&#xff0c;我们将Seata的数据存储改为db 将seata\sc…

剑指Offer 20.表示数值的字符串

20.表示数值的字符串 题目 官方地址 代码&#xff08;正则表达式&#xff09; public boolean isNumeric (String str) {if (str null || str.length() 0)return false;return new String(str).matches("[-]?\\d*(\\.\\d)?([eE][-]?\\d)?"); }在给定的代码…

聊聊混合动力汽车和纯电骑车的优势和劣势

混合动力汽车和纯电动骑车是两种不同的交通工具&#xff0c;它们都有各自的优势和劣势。本文将分别探讨混合动力汽车和纯电动骑车的优势和劣势&#xff0c;并为文章提供三个备选的好听的标题。 混合动力汽车是一种结合了内燃机和电动机的汽车&#xff0c;它可以同时利用燃油和电…