Управляющая последовательность

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая 89.249.144.25 (обсуждение) в 07:41, 9 августа 2008. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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).