脫字符表示法

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

參見

編輯