Управляющая последовательность
Escape-последовательность («исключённая последовательность», «экранированная последовательность») — совокупность идущих подряд значащих элементов, в группе теряющих для обрабатывающего механизма своё индивидуальное значение, одновременно с приобретением этой группой нового значения.
Образование escape-последовательностей представляет собой логическое кодирование.
В большинстве случаев этот термином обозначают соответствующие последовательности текстовых символов.
Escape-последовательность распознаётся по особому начальному и конечному символам (в html) или начальному символу и фиксированному количеству символов, следующих за ним (url-кодирование, многие интерпретируемые языки программирования).
Необходимость логического кодирования текстовых знаков возникла оттого, что некоторые из них в программах, работающих с текстом, имеют специальное (управляющее) значение. Для того, чтобы использовать эти знаки непосредственно как текст, их кодируют специфическими для каждой системы обозначения (программы) способами (escape-последовательностями):
- интерпретатор PHP распознаёт знак $ как первый символ имени переменной, а тот же символ, предварённый косой чертой (\$) воспринимается им как собственно символ $.
- в HTML-коде символы <, >, ', ", & используются как границы тегов и значений атрибутов тегов и не отображаются в веб-браузерах. Для того, чтобы сделать их видимыми, используют escape-последовательности, ограниченные знаками & и; (html-коды).
- в UNIX shell пробел служит для разделения команд, поэтому для его использования при обозначении имён файлов впереди ставится обратная косая черта (\).
Пример для языка программирования C
Пример 1
char str[]="Такой ввод символа " в строку вызовет ошибку"; //error [[C2146]]: syntax error : missing ';'
Пример 2
char str[]="Служебный символ \" можно ввести в строку";
В первом примере содержится ошибка — пропущена инструкция «;». Это произошло из-за того, что символ двойных кавычек используется для выделения строки. Во втором же примере этой ошибки нет, так как перед средней ковычкой стоит символ экранирования.
Примеры использования escape-последовательностей в HTML
&
lt; кодирует <,&
gt; кодирует >,&
amp; кодирует & (амперсанд).&
quot; кодирует " (двойная кавычка),&
#039; кодирует ' (апостроф, одинарная кавычка)
Аппаратное обеспечение
Escape-последовательности также применяются, когда компьютер и периферийное устройство имеют только один канал связи, используемый как для передачи данных, так и для управления самого устройства.
В модемах
Стандартная последовательность для модемов — три символа «+» нажимаемые с достаточно большим интервалом (передаваемые внутри текста три символа «+» не вызывают реакции на последовательность).
В оборудовании cisco
В коммуникационном оборудовании cisco escape sequence — это символы, передаваемые при нажатии комбинации клавиш Ctrl^ (для ввода '^' требуется нажатие Shift-6, так что полная комбинация выглядит как Ctrl-Shift-6).