龙空技术网

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

oeasy 64

前言:

此刻小伙伴们对“python把光标定义到指定的位置”大约比较重视,同学们都需要了解一些“python把光标定义到指定的位置”的相关文章。那么小编在网络上网罗了一些关于“python把光标定义到指定的位置””的相关文章,希望大家能喜欢,看官们一起来了解一下吧!

光标位置 回忆上次内容

上次我们研究的比较杂类型转化进制转化捕获异常版本控制生成帮助文档变量的常用类型变量的生命周期控制

数据类型主要研究了两个字符串str

整型数字int

字符串型 和 整型数字型变量是可以相互转化的

加法运算逻辑 会根据操作变量的不同 而不同整型变量的加法 是真的加字符串的加法 是字符串拼接

字符串中有一些转义字符\n\r\t都是什么意思来着??

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

回忆转义

转义转义转化含义

添加图片注释,不超过 140 字(可选)

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

添加图片注释,不超过 140 字(可选)

\b 是一个字符代表的含义是退格

hello中的o被退格符删除了

如果不用chr想要直接打出上面的效果应该怎么办呢?

直接加起来

添加图片注释,不超过 140 字(可选)

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

添加图片注释,不超过 140 字(可选)

续行符(\)之后有不期待的字符

想要获得同样的字符应该怎么办呢?

反斜杠的作用

\反斜杠(backslash) 在程序里面的作用是续行符line continuation character

当把\反斜杠(backslash)放入双引号里面之后\反斜杠 就是 转义字符escape character

转义字符在字符串中有特殊的含义可以和后面的字符一起构成转义序列escape sequence

添加图片注释,不超过 140 字(可选)

在下图中\b 就是转义序列escape sequence

\b 这个转义序列是由两部分组成\ 转义字符escape character

b 具体转到的含义

添加图片注释,不超过 140 字(可选)

这两个字符的序列组合起来的意思就是退格backspace

还有什么转义字符吗?

换行

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

添加图片注释,不超过 140 字(可选)

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

添加图片注释,不超过 140 字(可选)

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

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

转义 Escape

回忆可以用八进制\ooo

用十六进制\xhh

来表示转义字符

添加图片注释,不超过 140 字(可选)

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

控制字符

转义字符具有一定的控制作用也被叫做 控制字符control characters

以下就是ascii中的全部转义字符

添加图片注释,不超过 140 字(可选)

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

搜索结果

来回顾一下\是转义字符要和后面的字符一起构成转义序列

\e是转义序列也被称作 逃逸字符escape

添加图片注释,不超过 140 字(可选)

这 逃逸字符 escape逃逸指的是什么意思呢?

我们来试试

动手实验

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

添加图片注释,不超过 140 字(可选)

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

添加图片注释,不超过 140 字(可选)

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

理解Escape

真的可以逃逸出 当前输出序列控制定位 再输出

从正常的输出流逃逸到了 控制序列!!!

添加图片注释,不超过 140 字(可选)

逃逸

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

添加图片注释,不超过 140 字(可选)

可以让输出从当前的字符串序列中退出(Escape) 出去

后面的内容可就不是 输出的文本 了

而是 控制序列(Control Sequence)[10;20H 控制 输出位置在第10行第20列进行输出

那为什么有控制序列呢?

缘起

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

添加图片注释,不超过 140 字(可选)

早期的终端通过调节 显示器亮度来改变显示效果各个终端的 制造商都有 自己独特的 控制字符

这些特殊字符 是和 机器型号相关 的只要 接受到 这些控制字符终端 就可以 调整输出方式但是 并没有统一标准

统一标准

但是不同终端控制方式不同可能 造成显示状态 异常远程终端输出结果不可控需要一个关于控制字符的统一标准

1964 年 ISO 646在欧洲以ECMA-6的形式存在后来被ANSI(American National Standards Institute)整合为工业标准叫做 ANSI X3.64

添加图片注释,不超过 140 字(可选)

这个字符集 是不是很像 ascii而且包括了 整个黑暗森林

这套标准本来 在各种电传打字机 被实现后来 在各种终端中 被实现现在 在terminal软件 被实现

esc 键

Teletype Model ASR-33 终端键盘数据通信行业 最受欢迎的终端之一

1963 年推出注意 shift 和 ctrl 都已经出现Alt Mode 出现在第 1 列

添加图片注释,不超过 140 字(可选)

\e这个转义序列有了对应的按键吗?

ALT MODE是用来 切换模式的 特殊按键这是当时的 esc 键 吗?

总结

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

添加图片注释,不超过 140 字(可选)

ASR33中的ALT MODE是 今天的ESC键吗????

我们下次再说!蓝桥->;;

标签: #python把光标定义到指定的位置