2015-05-13 7 views
0

Итак, я вижу некоторые escape-коды ANSI, с которыми я не знаком в некоторых выводах.Неизвестный код выхода ansi -) 0 [,? 7h и? 7l

\\x1B)0[ 
\\x1B[?7h 
\\x1B[?7l 

http://ascii-table.com/ansi-escape-sequences.php говорит, что \\x1B[=7h и \\x1B[=7l будет устанавливать и сбрасывать (соответственно) режим, чтобы включить перенос строк, но те, у = 's и нет? Ы так ИДК, как это применимо, что есть.

Любые идеи?

+0

Возможно, какая-то проблема с набором символов, где '?' Предполагается '='? –

+0

Вот что я думал, но шестнадцатеричный символ, который я получаю, это '\\ x3F', который является шестнадцатеричным для'? 'В ASCII. – neubert

+1

http://en.wikipedia.org/wiki/ANSI_escape_code Do Control-F "[?". Вы увидите, что '\\ x1B [? 5h'' и' '\\ x1B [? 5l'' запустит экран терминала. Возможно, заменив 5 на 7, начнет мигать что-то еще. Первая строка там кажется полностью недействительной, поскольку ни один из escape-кодов не начинается с '') '' –

ответ

1

Первый \\x1B)0 (если не процитировали) может быть один из элементов управления символьного набора:

 C = 0 -> DEC Special Character and Line Drawing Set. 
.... 
ESC) C Designate G1 Character Set (ISO 2022, VT100). 
      The same character sets apply as for ESC (C. 

? указывает установку на частный режим. ISO-6429 (ECMA-48) определяет четыре: <, >, ? и =. Соответствующий режим (до сих пор со ссылкой на XTerm Control Sequences):

CSI ? Pm h 
     DEC Private Mode Set (DECSET). 
... 
     Ps = 7 -> Wraparound Mode (DECAWM). 

приложение должно кратко паузы между изменением этого между обратной видео и обратно в нормальное состояние.

+0

Последовательности OP имеют 7, поэтому это Wraparound Mode (DECAWM). – sendmoreinfo