光标位置 回忆上次内容
-
上次我们研究的比较杂
-
类型转化
-
进制转化
-
捕获异常
-
版本控制
-
生成帮助文档
-
变量的常用类型
-
变量的生命周期控制
-
数据类型主要研究了两个
-
字符串
-
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 | 退格 | backspace | 8 | | \t | 制表键 | tab | 9 | | \n | 换行 | line feed | 10 | | \r | 回车 | carriage | 13 |
-
可以看到更多的转义字符吗?
转义 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键吗????🤔
-
我们下次再说!👋