脱字符表示法

脱字符表示法(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终端驱动程序与文本文件显示程序如moreless。通常用于终端机连线(例如Telnet通讯协定),以脱字符^开头,再接一个符号,用来让这些控制字元得以在画面上显现。虽然看起来是两个字元,但在终端机上实际只有一个字元。在绝大部分的终端机系统中,包括Windows命令提示字元(cmd.exe)、LinuxFreeBSD,都可用Ctrl代表脱出字元,输入想要的ASCII控制字元。例如想输入空字符,就要输入Ctrl+2,而非^@,后者会显示成两字元,前者只会显示成一字元。

二进制 十进制 十六进制 缩写 Unicode
表示法
脱字符
表示法
名称意义
0000 0000 0 00 NUL ^@ 空字符Null
0000 0001 1 01 SOH ^A 标题开始
0000 0010 2 02 STX ^B 本文开始
0000 0011 3 03 ETX ^C 本文结束
0000 0100 4 04 EOT ^D 传输结束
0000 0101 5 05 ENQ ^E 请求
0000 0110 6 06 ACK ^F 确认回应
0000 0111 7 07 BEL ^G 响铃
0000 1000 8 08 BS ^H 退格
0000 1001 9 09 HT ^I 水平定位符号
0000 1010 10 0A LF ^J 换行键
0000 1011 11 0B VT ^K 垂直定位符号
0000 1100 12 0C FF ^L 换页键
0000 1101 13 0D CR ^M Enter键
0000 1110 14 0E SO ^N 取消变换(Shift out)
0000 1111 15 0F SI ^O 启用变换(Shift in)
0001 0000 16 10 DLE ^P 跳出数据通讯
0001 0001 17 11 DC1 ^Q 设备控制一(XON 启用软体速度控制
0001 0010 18 12 DC2 ^R 设备控制
0001 0011 19 13 DC3 ^S 设备控制三(XOFF 停用软体速度控制
0001 0100 20 14 DC4 ^T 设备控制
0001 0101 21 15 NAK ^U 确认失败回应
0001 0110 22 16 SYN ^V 同步用暂停
0001 0111 23 17 ETB ^W 区块传输结束
0001 1000 24 18 CAN ^X 取消
0001 1001 25 19 EM ^Y 连线介质中断
0001 1010 26 1A SUB ^Z 替换
0001 1011 27 1B ESC ^[ 退出键
0001 1100 28 1C FS ^\ 文件分割符
0001 1101 29 1D GS ^] 群组分隔符
0001 1110 30 1E RS ^^ 记录分隔符
0001 1111 31 1F US ^_ 单元分隔符
0111 1111 127 7F DEL ^? 删除

参见