转义序列
回忆上次内容
上次回顾了5bit-Baudot博多码的来历
从 莫尔斯码 到 博多码
原来
人 来 收发电报
现在
机器 来 收发电报
输入方式
从 电键
改成 键盘
输出方式
从 纸带
变成 打印纸张
后来
电传打字机ASR-33
成为 初代 经典终端
除了 \n 和 \r 之外
还有什么 特殊字符 吗?🤔
搜索 ASCII
找到 ascii的定义
还有 好多
类似于\n、\r的 特殊字符
动手试试
总结一下
各种 转义字符
转义总结
\a
响铃 ␇ (bell)
电传打字机 回车前 都会预警响铛
避免 回车过程中 误打字符
可以
手动发送编码
敲一下 这个铃铛
后来
是让 蜂鸣器 鸣叫
现在
终端 或者 服务器
一般没有 蜂鸣器
\b
BackSpace
退回一格
\t
table
水平制表符
Horizontal Tab
效果是空四个格
\v、\f
效果就是
纯喂纸 不回车
黑暗森林
再看 ascii码表
黑暗森林
好像也没有 那么神秘 了
已经 有些部分 展示出来 了
为什么 只能\n
难道 /n 不行么?
动手 试试!
实验
确实 不行!
ascii的定义 是 源头
python 对于这些字符的解释
是跟 c语言 学的
这些特殊的东西
都和 \反斜杠
这个字符相关联
为什么呢?
反斜杠
为什么管 这个方向的斜杠
叫 反斜杠 呢?
斜杠是 成对儿的
有 斜杠
slash
/
就有 反斜杠
backslash
\
我们一般都是 右利手
从上往下砍
都是 右上到左下
slash 很顺手
slash 这个词本身就是砍
用鞭子或者锋利的刃来砍
暴力的砍
主要是对于树来说的
顺手的就是 slash
反过来不顺手的就是
backslash
对应的是不正常的
转化含义的
转义字符
转义字符
escape code
有 逆向思维的感觉
\自身 无法
构成一个 具体的字符
而是 要和后面的字符 一起
构成一个 转义字符
转义用的 是
反斜杠
\
backslash
转义 Escape
\反斜杠(backslash)
加了其他字符 之后
字符 就不是 原来的字面意思 了
转义么
转义转义
转化含义
所以\反斜杠 这个字符
也叫做转义字符
Escape character
\b 这两个字符的序列
算是一个转义序列 Escape sequence
\ 这个转义字符
会让 \b转义序列
转义为 Backspace
退格这1个字符
这个退格 是
转义序列\b转化含义之后的 含义
这个 转化后的 含义
对应 1个 ascii字符
可以 在键盘
找到 这个字符 吗?
键盘
就是 \b
键盘上的退格
对应的ascii值 就是 8
转义的本质 是什么 呢?
转义本质
转义转义转换含义!!!😡
\n本来是 两个字符
转义字符\反斜线
把自己 和后面的字符n 一起
构成了 转义序列\n
转换含义 成为 一个新的含义
原来的字符是\和n
转成新的含义为换行
\r就不是\和r了
\r是一个整体
对应一个字符
整个对应 ascii 中
序号13的字符
试试
就像 a 对应 65 一样
\b 对应 8
\b 在 python3 的作用
退格
你发现了 12\ba 变成 1a 了么?
\b、\x08、chr(8) 是 同一个字符
但是这个\x08
是什么意思?
继续转义
这个x08 刚好是
退格对应字符的 ascii值
退格 对应的值是 8
但这个 8 是
(0x08)16进制
但是这个 x 是什么意思来着?
x 的意思是 hexadecimal
hex 就是 大着舌头说six
后面 2位 16进制数
刚好 对应 一个字节
总结
什么是 转义?
转义转义 转化含义
\ 是 转义字符
\n、\r是 转义序列
还有什么 转义序列 吗?
\a是 响铃
\b 退格键
\t 水平制表符 tab键
\v、\f 实现喂纸不回车
通过 16进制数值 转义
\xhh
输出 (hh)16进制对应的ascii字符
如果我们不输入x
会发生什么呢?
为什么会输出 S 呢?🤔
我们下次再说!👋
蓝桥->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