ANSI Escape-последовательности - PullRequest
2 голосов
/ 30 марта 2012

Мне нужна помощь в определении того, что представляют эти escape-последовательности ANSI.В настоящее время я фильтрую / оцениваю коды ANSI в программе чтения с экрана терминала, которую я пишу, но я не уверен, что это такое.1005 *

[0; 1 ;; 4m

Я использую приведенную ниже таблицу escape-последовательностей для справки: http://ascii -table.com / ansi-escape-sequence-vt-100.php

Ответы [ 2 ]

6 голосов
/ 01 апреля 2012

ECMA-48 является их основным источником.

Что касается ваших конкретных примеров:

[0;1mm

Это SGR (выберите графическое представление) 0 и 1, за которым следует обычный неэкранированный m. SGR 0 сбрасывает все атрибуты воспроизведения, 1 включает жирный шрифт.

[0;1;;4m

SGR 0, 1, 4. Сбрасывает 0, 1 включает жирный шрифт, 4 включает одно подчеркивание.


РЕДАКТИРОВАТЬ: На самом деле, я считаю, что этот второй пример эквивалентен

CSI 0;1;0;4 m

, который сбрасывает, включает жирный шрифт, сбрасывает второй раз, затем включает подчеркивание. Таким образом, в целом, только подчеркивание, а не жирный.

1 голос
/ 01 апреля 2012

Диаграмма, к которой вы привязаны, является строго кодами, поддерживаемыми терминалом VT100 (и подмножеством, поддерживаемым VT52).Перейдите к таблице последовательности ANSI Escape прямо рядом с ней, чтобы увидеть таблицу кодов клемм ANSI, которая объясняет последовательность ESC [ … m.(Эти страницы немного сбивают с толку из-за того, какую диаграмму они отображают.)

Резюме заключается в том, что размещенные вами коды позволяют выделять жирный и подчеркнутый текст.

Я также рекомендую Таблица поддерживаемых кодов Xterm , которая охватывает коды, поддерживаемые Xterm и некоторыми другими распространенными эмуляторами терминала, а также некоторыми другими аппаратными терминалами.

...