脱字符表示法

维基百科,自由的百科全书

脱字符表示法(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 ^? 删除

参见