脱字符表示法(Caret notation)是对ASCII码不可打印的控制字符的一种表示法。用一个脱字符 (^)后跟一个大写字符来表示一个控制字符的ASCII码值。
例如,控制字符ACK的ASCII码值为6,可用^F表示,因为F是字母表的第6个字符。NULL字符的码值为0,用^@表示,因为在ASCII码表中,字符A前面的字符就是@。 DEL字符的码值是127,表示为^?, 因为ASCII字符'?'恰在'@'之前,在'@'代表0时,'?'表意为-1,所以可以指称7位ASCII表的-1(2补码为127)。
许多操作系统,包括类UNIX系统、DOS,允许用户按下Ctrl键时按下另一个脱字符表示法使用的字母键,来输入控制字符。
脱字符表示法被许多程序使用,特别是Unix终端驱动程序与文本文件显示程序如more、less。通常用於終端機連線(例如Telnet通訊協定),以脫字符^開頭,再接一個符號,用來讓這些控制字元得以在畫面上顯現。雖然看起來是兩個字元,但在終端機上實際只有一個字元。在絕大部分的終端機系統中,包括Windows的命令提示字元(cmd.exe)、Linux和FreeBSD,都可用Ctrl代表脫出字元,輸入想要的ASCII控制字元。例如想輸入空字符,就要輸入Ctrl+2,而非^@,後者會顯示成兩字元,前者只會顯示成一字元。
参见