所有的ASCII码都可以用“”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加来表示常见的那些不能显示的ASCII字符,如 ,t,n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
所有的 ASCII 码都可以用“”加数字(一般是 8 进制数字)来表示。而 C 中定义了一些字母前加””来表示常见的那些不能显示的 ASCII 字符,如 ,t,n 等,就称为转义字符,因为后面的字符,都不是它本来的 ASCII 字符意思了。
转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。 转义序列通常有两种功能。第一个是编码一个句法上的实体,如设备命令或者无法被字母表直接表示的特殊数据。第二种功能,也叫字符引用,用于表示无法在当前上下文中被键盘录入的字符(如字符串中的回车符),或者在当前上下文中会有不期望的含义的字符(如 C 语言字符串中的双引号字符”,不能直接出现,必须用转义序列表示)。在后面那种情况,转义序列是一种由转义字符自身和一个被引用的字符组成的一个二合字母(digraph)情形。
转义字符不属于控制字符;控制字符也不属于转义字符。如果控制字符的定义是非图形的字符,或者对输出设备(打印机、文本终端)有特殊意义的字符,那么针对这些设备的转义字符也是控制字符。但是程序设计用的转义字符是图形字符,因此它们不是控制字符。相反地,大多数 ASCII 控制字符单独都具有控制功能,因此它们不是转义字符。
所有的转义字符和所对应的意义:
意义
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