更多
当前位置: 首页 > 资讯

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

发布时间:2023-08-05 17:51:24 来源:哔哩哔哩

光标位置

回忆上次内容

上次我们研究的比较杂

类型转化

进制转化


(资料图片)

捕获异常

版本控制

生成帮助文档

变量的常用类型

变量的生命周期控制

数据类型主要研究了两个

int

str

字符串

整型数字

字符串型 和 整型数字型变量

是可以相互转化的

加法运算逻辑 会根据操作变量的不同 而不同

整型变量的加法 是真的加

字符串的加法 是字符串拼接

字符串中有一些转义字符

\n

\r

\t

都是什么意思来着??

还有什么没见过的转字符吗??

回忆转义

转义转义

转化含义

下图中hello的o

为什么消失了?

\b是一个字符

代表的含义是退格

hello中的o

被退格符删除了

如果不用chr

想要直接打出上面的效果

应该怎么办呢?

直接加起来

想要用\b替换chr(8)

程序报错了

续行符(\)之后

有不期待的字符

想要获得同样的字符

应该怎么办呢?

反斜杠的作用

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

是续行符

line continuation character

当把\反斜杠(backslash)放入双引号里面之后

在字符串中有特殊的含义

可以和后面的字符一起

构成转义序列

escape sequence

escape character

\反斜杠 就是 转义字符

转义字符

在下图中

是由两部分组成

escape character

\ 转义字符

b 具体转到的含义

escape sequence

\b 就是转义序列

\b 这个转义序列

这两个字符的序列组合起来的意思

就是退格

backspace

还有什么转义字符吗?

换行

\n 这个转义序列的意思是

line feed

换行

\r 这个转义序列的意思是

carriage return

回车

| 转义序列 | 中文含义 | 英文含义 | ascii序号 | | --- | --- | --- | --- | | \b | 退格 | backspace | 8 | | \t | 制表键 | tab | 9 | | \n | 换行 | line feed | 10 | | \r | 回车 | carriage | 13 |

可以看到更多的转义字符吗?

转义 Escape

回忆

\xhh

\ooo

可以用八进制

用十六进制

来表示转义字符

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

控制字符

转义字符

具有一定的控制作用

也被叫做 控制字符

control characters

以下就是

ascii中的全部转义字符

居然有转义序列

转义之后的的含义是 escape

搜索结果

来回顾一下

\是转义字符

要和后面的字符一起构成转义序列

\e是转义序列

escape

也被称作 逃逸字符

这 逃逸字符 escape

逃逸指的是什么意思呢?

我们来试试

动手实验

实践证明

直接使用\e是不行的

但是可以使用

用 \033 代替 \e

\e 的 8进制形式

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

理解Escape

真的可以逃逸出 当前输出序列

控制定位 再输出

从正常的输出流

逃逸到了 控制序列!!!

逃逸

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

可以让输出

可就不是 输出的文本 了

退出(Escape) 出去

从当前的字符串序列中

后面的内容

而是 控制序列(Control Sequence)

第10行第20列进行输出

[10;20H控制 输出位置

那为什么有控制序列呢?

缘起

电传打字机 输出的颜色

来控制 打印颜色的深浅

是物理过程

只能通过 控制色带(类似于墨盒)

早期的终端

都有 自己独特的 控制字符

通过调节 显示器亮度

来改变显示效果

各个终端的 制造商

这些特殊字符 是和 机器型号相关 的

只要 接受到 这些控制字符

终端 就可以 调整输出方式

但是 并没有统一标准

统一标准

但是不同终端

控制方式不同

可能 造成显示状态 异常

远程终端输出结果不可控

需要一个关于控制字符的统一标准

1964 年 ISO 646

整合为工业标准

叫做 ANSI

在欧洲以ECMA-6的形式存在

后来被ANSI(American National Standards Institute)

这个字符集 是不是很像 ascii

而且包括了 整个黑暗森林

这套标准

本来 在各种电传打字机 被实现

后来 在各种终端中 被实现

现在 在terminal软件被实现

esc 键

Teletype Model ASR-33 终端键盘

数据通信行业 最受欢迎的终端之一

1963 年推出

注意 shift 和 ctrl 都已经出现

Alt Mode 出现在第 1 列

\e这个转义序列

有了对应的按键吗?

ALT MODE

是用来 切换模式的 特殊按键

这是当时的 esc键 吗?

总结

这次了解了 新的转义模式

这个字符 让字符串 退出标准输出流

进行控制信息的设置

可以设置 光标输出的位置

\033 逃逸控制字符 escape

ASR33中的ALT MODE

是 今天的ESC键吗????

我们下次再说!*

蓝桥->/courses/3584

github->/overmind1980/oeasy-python-tutorial

gitee->/overmind1980/oeasypython

上一篇:沈阳:亮剑"微腐败" 净化基层政治生态

下一篇:最后一页