转义字符

定义

转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表，一个转义字符的目的是开始一个字符序列，使得转义字符开头的该字符序列具有不同于该字符序列单独出现（没有转义字符开头）时的语义。因此转义字符开头的字符序列被叫做转义序列。一个转义字符可能并没有它自己的意思，因此所有转义序列具有2个或更多字符。
转义序列通常有两种功能。第一个是编码一个句法上的实体，如设备命令或者无法被字母表直接表示的特殊数据。第二种功能，也叫字符引用，用于表示无法在当前上下文中被键盘录入的字符（如字符串中的回车符），或者在当前上下文中会有不期望的含义的字符（如C语言字符串中的双引号字符"，不能直接出现，必须用转义序列表示）。在后面那种情况，转义序列是一种由转义字符自身和一个被引用的字符组成的一个二合字母（digraph）情形。

控制字符

转义字符不属于控制字符；控制字符也不属于转义字符。如果控制字符的定义是非图形的字符，或者对输出设备（打印机、文本终端）有特殊意义的字符，那么针对这些设备的转义字符也是控制字符。但是程序设计用的转义字符是图形字符，因此它们不是控制字符。相反地，大多数ASCII控制字符单独都具有控制功能，因此它们不是转义字符。

转义字符在各个编程语言中的使用方法

在不同的编程语言中，转义字符的使用方法均不同。

ASCII转义字符

ASCII的"escape"字符被用于许多输出设备，标志着开始一个转义字符序列。例如^[,后跟可打印字符[2;10H，将引起DEC的VT102终端把光标移动到屏幕的第2行第10个单元。在1970年代到1980年代的人机界面中，使用Esc键作为转义字符，开始一个转义序列，是非常常见的。但现在一般放弃了这种用法。

通信协议

在点对点协议中，0x7D被用作转义字符。