Неизвестная управляющая последовательность ANSI - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь создать эмулятор терминала HTML. С большей частью кода форматирования я в порядке, страницы, подобные этой , очень помогают. Однако строка, содержащая приглашение, выглядит странно (строка, а затем коды ASCII ниже):

\e]0;pi@igor: ~{??}\e[01;32mpi@igor:[01;34m~ $  
####
27 93 48 59 112 105 64 105 103 111 114 58 32 126 7 27 91 48 49 59 51 50 109 112 105 64 105 103 111 114 27 91 48 48 109 58 27 91

Прежде всего, в начале строки есть последовательность \ e] (Esc + закрывающая скобка!)Я не вижу в документах. С открывающей скобкой было бы лучше, но даже этого я не могу найти в справочнике.

Следующая вещь - это код символа 7, который я заменил на {??} в строке. Сразу после подсказки есть один байт 7.

Фактическая подсказка здесь

pi@igor:~ $ 

с форматированием (а igor - Raspberry Pi), поэтому строка в порядке (даже еслиусеченный мной) после части {??}, то есть символа 7. Но что это до этого?

Редактировать: так что да, символ 7 будет колоколом в ASCII. Если это так, то почему у него полное приглашение?

1 Ответ

1 голос
/ 12 октября 2019

Это установка заголовка терминала на pi@igor: ~, что делается в первой части \e]0;pi@igor: ~\a.

Комментарий dave_thompson_085 сообщает, что это последовательность xterm:

Это последовательность, определенная xterm, а не ANSI или DEC. См. https://invisible -island.net / xterm / ctlseqs / ctlseqs.html # h2-Operating-System-Commands (и в верхней части страницы, где OSC обозначается как ESC] или \ x9D).

...