Console

奇怪的轉義序列

  • November 17, 2018

我需要確定這個轉義序列代表什麼。我看到這個序列在我的伺服器控制台上自動生成,但我不確定這是什麼原因。

轉義序列:^[[[D

我已經檢查了這個轉義序列圖表作為參考:http ://ascii-table.com/ansi-escape-sequences-vt-100.php ,但沒有找到任何匹配的東西。

***注意:*這是我理解的事情,所以可能有點不對勁!

這些字元^[通常表示 Escape 鍵本身。這是一個 Control ( ^) + 一個左方括號 ( [)。

轉義字元的摘錄- ASCII 轉義字元

ASCII“轉義”字元(八進制:\033,十六進制:\x1B,或^[,或十進制為27)在許多輸出設備中用於啟動一系列稱為控制序列或轉義序列的字元。通常,轉義字元首先以這樣的順序發送,以提醒設備後面的字元將被解釋為控制序列而不是普通字元,然後一個或多個字元將跟隨以指定一些詳細的操作,之後設備將返回正常解釋字元。例如,^[ 序列後跟可列印字元 [2;10H,將導致 DEC VT102 終端將其游標移動到螢幕第 2 行的第 10 個單元格。這後來被開發為 ANSI X3.64 標準所涵蓋的 ANSI 轉義碼。

在使用 UTF-8 的系統上,這個轉義序列實際上是 2 個字元,所以現在^[後面跟著一個額外的[.

摘自ANSI 轉義碼 - 序列元素

還有一個單字元 CSI (155/0x9B/0233)。ESC+

$$ two-character sequence is more often used than the single-character alternative, for details see C0 and C1 control codes. Only the two-character sequence is recognized by devices that support just ASCII (7-bit bytes) or devices that support 8-bit bytes but use the 0x80–0x9F control character range for other purposes. On terminals that use UTF-8 encoding, both forms take 2 bytes (CSI in UTF-8 is 0xC2, 0x9B)[discuss $$但 ESC+[ 序列更清晰。

知道以上兩條資訊,這將使您的轉義序列Esc++[成為D令人驚訝的退格字元。

ANSI Escape 序列的摘錄

Esc[ValueD     Cursor Backward: Moves the cursor back by the specified 
              number of columns without changing lines. If the cursor is 
              already in the leftmost column, ANSI.SYS ignores this 
              sequence.

參考

引用自:https://unix.stackexchange.com/questions/108009