转义字符在任何一种编程语言中都会提到(正则表达式也是)。写这篇博客的原因是,在 友链 Ray 的博客 中无意发现:

Python 自带的 shell 以及 SublimeText3 配置的环境 不支持 \b\r

但是 C++ IDE 就支持,例如:Codeblocks

以下图表来自 百度百科

转义字符 意义 ASCII 码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) (跳到下一个 TAB 位置) 009
\v 垂直制表(VT) 011
\\ 代表一个反斜线字符 \ 092
\’ 代表一个单引号(撇号)字符 039
\” 代表一个双引号字符 034
\? 代表一个问号 063
\0 空字符(NUL) 000
\ddd 1 到 3 位八进制数所代表的任意字符 三位八进制
\xhh 十六进制所代表的任意字符 十六进制

注意: 转义字符与操作系统无关!

Python Shell 和无视 \r ,而 \b 会报错。

Sublime 的插件无视 \r\b 会被输出为: <0x08>

下面内容摘自百度百科

回车 (\r) 本义是光标重新回到本行开头,r 代表 return ,控制字符可以写成 CR,即 Carriage Return
换行 (\n) 本义是光标往下一行(不一定到下一行行首),n 代表 newline,控制字符可以写成 LF,即 Line Feed

在不同的操作系统这几个字符表现不同:
比如在 WIN 系统下,这两个字符就是表现的本义,
在 UNIX 类系统,换行 \n 就表现为光标下一行并回到行首,
在 MAC 上,\r 就表现为回到本行开头并往下一行,至于 ENTER 键的定义是与操作系统有关的。