Управляющие символы

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Управля́ющие си́мволы — это символы в кодировке, предназначенные для управления устройствами, организации передачи данных и других целей и, как правило, не имеющие графического представленияШаблон:Efn. Управляющие символы противопоставляются печатным (графическим) символам, предназначенным для написания, печати или иного отображения в форме, которая может быть прочитана человеком.

В настоящее время многие управляющие символы или не используются вообще, или используются не по назначению, поскольку теперь для осуществления упомянутых функций управления применяются форматы файлов, языки управления устройствами (такие как Postscript) и сетевые протоколы.

Стандарт POSIX требует обязательного наличия лишь восьми управляющих символов — \0, \a, \b, \t, \n, \v, \f и \r (см. переносимый набор символов).

Управляющие символы C0

В 1963 году была принята первая редакция стандарта ASCII, в которой было определено 35 управляющих символов. Большинство из них располагалось в диапазоне Шаблон:0xШаблон:0x, за исключением символов ACK, ESC и DEL, которые располагались в диапазоне Шаблон:0xШаблон:0x. В редакции 1967 года символы ACK и ESC были перенесены в основной диапазон, а их место заняли, соответственно, вертикальная черта (|) и тильда (~).

Управляющие символы ASCII предназначались для управления работой телетайпов и видеотерминалов и вводились на них сочетаниями с клавишей Шаблон:Клавиша, при использовании которой обнулялся старший (6-й, считая с 0) бит кода введённого символа. В современных компьютерных системах нигде, кроме эмуляторов терминала, не предусмотрен ввод этих символов напрямую (кроме символов табуляции и перевода строки), и большинство из перечисленных управляющих символов не используется.

Приведённый ниже вариант набора управляющих символов C0 в настоящее время используется в стандартах ANSI X3.4 (ASCII), ECMA-6, ITU-T Шаблон:Iw, ISO/IEC 646, ECMA-48, ISO/IEC 6429, JIS Шаблон:Iw, ГОСТ 34.301—91, ISO/IEC 10646, RFC 1345, Юникод и ряде других.

Код
Шаблон:Shy
Английское название Русское название
по Шаблон:S<ref>Шаблон:ГОСТ</ref>
Шаблон:Shy
Шаблон:ShyШаблон:Efn
[[Escape-последовательность|Escape-
Шаблон:Shy]]
Назначение
Шаблон:0x Шаблон:Якорь NULL (NUL) ПУСТО (ПУС) ^@ \0 Обозначает отсутствие данных на носителе (изначально таковым была перфолента, где единичный бит кодируется наличием отверстия, а нулевой бит — его отсутствием; участки перфоленты, не содержащие данные, не имеют кодовых отверстий, то есть содержат символы NUL). Некоторые терминалы отображают его как пробел, но это некорректно. Используется для обозначения конца последовательности (строки) символов в некоторых языках программирования (например, Си).
Шаблон:0x Шаблон:Якорь START OF HEADING (SOH) НАЧАЛО ЗАГОЛОВКА (НЗ) ^A В настоящее время используется в консоли маршрутизаторов Cisco.
Шаблон:0x Шаблон:Якорь START OF TEXT (STX) НАЧАЛО ТЕКСТА (НТ) ^B В настоящее время используется в консоли маршрутизаторов Cisco.
Шаблон:0x Шаблон:Якорь END OF TEXT (ETX) КОНЕЦ ТЕКСТА (КТ) ^C При вводе в терминале обычно интерпретируется как сигнал прерывания.
Шаблон:0x Шаблон:Якорь END OF TRANSMISSION (EOT) KOHЕЦ ПЕРЕДАЧИ (КП) ^D При вводе в терминале в Unix-подобных ОС интерпретируется как конец вводимых данных. Если текущая программа брала данные с терминала, то она завершается, как только обработает всё, что было до символа EOT.
Шаблон:0x Шаблон:Якорь ENQUIRY (ENQ) КТО ТАМ? (КТМ) ^E Использовался в телетайпной связи. В ответ предполагалось получить идентификационную строку удалённого аппарата.
Шаблон:0x Шаблон:Якорь ACKNOWLEDGE (ACK) ПОДТВЕРЖДЕНИЕ (ДА) ^F Использовался в телетайпной связи.
Шаблон:0x Шаблон:Якорь BELL (BEL) ЗВОНОК (ЗВ) ^G \a Если этот символ послать на принтер или терминал, то ничего не напечатается, но раздастся звуковой сигнал.
Шаблон:0x Шаблон:Якорь BACKSPACE (BS) ВОЗВРАТ НА ШАГ (ВШ) ^H \b Перемещает позицию печати на один символ назад. На принтерах может использоваться для наложения одного символа на другой, например: = BS /. При вводе в терминале иногда используется для удаления предшествующего символа.
Шаблон:0x Шаблон:Якорь HORIZONTAL TABULATION (HT) ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ (ГТ) ^I \t Перемещает позицию печати к следующей позиции горизонтальной табуляции.
Шаблон:0x Шаблон:Якорь LINE FEED (LF) ПЕРЕВОД СТРОКИ (ПС) ^J \n Перемещает позицию печати на одну строку вниз (изначально — без возврата каретки). Разделяет строки текстовых файлов в Unix-подобных ОС.
Шаблон:0x Шаблон:Якорь VERTICAL TABULATION (VT) ВЕРТИКАЛЬНАЯ ТАБУЛЯЦИЯ (ВТ) ^K \v Перемещает позицию печати к следующей позиции вертикальной табуляции. В терминале этот символ обычно эквивалентен переводу строки (CR).
Шаблон:0x Шаблон:Якорь FORM FEED (FF) ПЕРЕВОД ФОРМАТА (ПФ) ^L \f Пропускает текущую страницу и продолжает печать со следующей (изначально — без возврата каретки). При выводе в терминале этот символ обычно эквивалентен переводу строки (CR), однако его ввод может осуществлять очистку экрана.
Шаблон:0x Шаблон:Якорь CARRIAGE RETURN (CR) ВОЗВРАТ КАРЕТКИ (ВК) ^M \r Перемещает позицию печати в начало строки (изначально — без перевода строки). Разделяет строки текстовых файлов в некоторых ОС, например классической Mac OS (но не в Mac OS X). Во многих других ОС (CP/M, MS-DOS и Microsoft Windows) для разделения строк используется последовательность символов возврата каретки и перевода строки (LF) — Шаблон:0x Шаблон:0x, файлы с которой можно отправлять непосредственно на принтер.
Шаблон:0x Шаблон:Якорь SHIFT OUT (SO) ВЫХОД (ВЫХ) ^N В КОИ-7 включает режим национальных символов (набор Н1). На некоторых принтерах включает режим символов двойной ширины.
Шаблон:0x Шаблон:Якорь SHIFT IN (SI) ВХОД (ВХ) ^O В КОИ-7 включает латинский режим (набор Н0). На некоторых принтерах включает режим узких символов.
Шаблон:0x Шаблон:Якорь DATA LINK ESCAPE (DLE) АВТОРЕГИСТР ОДИН (АР1) ^P Означает, что следующий за ним управляющий символ должен восприниматься как данные (текст), а не как управляющий символ.
Шаблон:0x Шаблон:Якорь DEVICE CONTROL ONE (DC1) СИМВОЛ УСТРОЙСТВА ОДИН (СУ1) ^Q В терминале разрешает продолжить вывод данных.
Шаблон:0x Шаблон:Якорь DEVICE CONTROL TWO (DC2) СИМВОЛ УСТРОЙСТВА ДВА (СУ2) ^R
Шаблон:0x Шаблон:Якорь DEVICE CONTROL THREE (DC3) СИМВОЛ УСТРОЙСТВА ТРИ (СУ3) ^S В терминале временно прерывает (приостанавливает) вывод данных.
Шаблон:0x Шаблон:Якорь DEVICE CONTROL FOUR (DC4) СИМВОЛ УСТРОЙСТВА ЧЕТЫРЕ (СУ4) ^T
Шаблон:0x Шаблон:Якорь NEGATIVE ACKNOWLEDGE (NAK) ОТРИЦАНИЕ (НЕТ) ^U Использовался в телетайпной связи.
Шаблон:0x Шаблон:Якорь SYNCHRONOUS IDLE (SYN) СИНХРОНИЗАЦИЯ (СИН) ^V Некоторые линии связи устроены так, что требуют непрерывной передачи данных. Если передавать нечего, то передают этот символ.
Шаблон:0x Шаблон:Якорь END OF TRANSMISSION BLOCK (ETB) КОНЕЦ БЛОКА (КБ) ^W Конец блока передаваемых данных.
Шаблон:0x Шаблон:Якорь CANCEL (CAN) АННУЛИРОВАНИЕ (АН) ^X Данные, которые идут перед ним, некорректны. (Обычно речь идёт об одной строке.)
Шаблон:0x Шаблон:Якорь END OF MEDIUM (EM) КОНЕЦ НОСИТЕЛЯ (КН) ^Y Использовался, например, если закончилась перфолента, магнитная лента и т. п.
Шаблон:0x Шаблон:Якорь SUBSTITUTE (SUB) ЗАМЕНА СИМВОЛА (ЗМ) ^Z Ставится на месте символов, значения которых были потеряны при передаче. В CP/M и MS-DOS использовался для обозначения конца как текстовых файлов, так и вводимых в консоли данных (хотя для этого были предназначены символы ETX и EOT).
Шаблон:0x Шаблон:Якорь ESCAPE (ESC) АВТОРЕГИСТР ДВА (АР2) ^[ \e Означает, что следующие за ним символы имеют значение, отличное от определённого в стандарте. Обычно начинает управляющие последовательности (см. также ANSI.SYS).
Шаблон:0x Шаблон:Якорь FILE SEPARATOR (FS) РАЗДЕЛИТЕЛЬ ФАЙЛОВ (РФ) ^\
Шаблон:0x Шаблон:Якорь GROUP SEPARATOR (GS) РАЗДЕЛИТЕЛЬ ГРУПП (РГ) ^]
Шаблон:0x Шаблон:Якорь RECORD SEPARATOR (RS) РАЗДЕЛИТЕЛЬ ЗАПИСЕЙ (РЗ) ^^ Видимо, предназначался для разделения записей в базах данных, но практически никогда для этого не используется.
Шаблон:0x Шаблон:Якорь UNIT SEPARATOR (US) РАЗДЕЛИТЕЛЬ ЭЛЕМЕНТОВ (РЭ) ^_ Видимо, предназначался для разделения полей в базах данных, но практически никогда для этого не используется.
Шаблон:0x Шаблон:Якорь DELETE (DEL) ЗАБОЙ (ЗБ) ^? Одно из предназначений — удаление (забивание) ошибочных символов на перфоленте (поскольку символ DEL, состоящий из семи единичных битов, соответствует пробитию отверстий во всех кодовых дорожках семидорожечной перфоленты), где он трактуется как отсутствие данных (эквивалентен NUL). В терминале может быть введён либо клавишей Шаблон:Клавиша, либо клавишей Шаблон:Клавиша.

Управляющие символы C1

Приведённый ниже вариант набора управляющих символов C1 в настоящее время используется в стандартах ECMA-48, ISO/IEC 6429, JIS Шаблон:Iw и ГОСТ 34.301—91 (не полностью), ISO/IEC 10646, RFC 1345, Юникод и ряде других.

Управляющие символы Юникода

  • U+034F, COMBINING GRAPHEME JOINER. Объединить символы, стоящие слева и справа (создать лигатуру).
  • U+061C, ARABIC LETTER MARK, маркер направления текста для арабского языка.
  • U+2008, PUNCTUATION SPACE, пробел шириной в знак пунктуации.
  • U+200B, ZERO-WIDTH SPACE, пробел нулевой ширины. При выравнивании по ширине может расширяться.
  • U+200C, ZERO WIDTH NON-JOINER. Запрещает образование лигатур.
  • U+200D, ZERO WIDTH JOINER. Разрешает образование лигатур.
  • U+200E, LEFT-TO-RIGHT MARK. Писать слева направо.
  • U+200F, RIGHT-TO-LEFT MARK. Писать справа налево.
  • U+2028, LINE SEPARATOR, разделитель строк. Разделяет строки текста, но не абзацы.
  • U+2029, PARAGRAPH SEPARATOR, разделитель абзацев. Разделяет абзацы текста.
  • U+202A, LEFT-TO-RIGHT EMBEDDING. Начало текста, написанного слева направо, внутри текста, написанного справа налево.
  • U+202B, RIGHT-TO-LEFT EMBEDDING. Начало текста, написанного справа налево, внутри текста, написанного слева направо.
  • U+202C, POP DIRECTIONAL FORMATTING. Конец вставленного текста с другим направлением.
  • U+202D, LEFT-TO-RIGHT OVERRIDE. Заменить текст, написанный слева направо, текстом, написанным справа налево.
  • U+202E, RIGHT-TO-LEFT OVERRIDE. Заменить текст, написанный справа налево, текстом, написанным слева направо.
  • U+2060, WORD JOINER, соединитель слов.
  • U+2066, LEFT-TO-RIGHT ISOLATE, начало отрезка текста, написанного слева направо.
  • U+2067, RIGHT-TO-LEFT ISOLATE, начало отрезка текста, написанного справа налево.
  • U+2068, FIRST STRONG ISOLATE, первый усиленный разделитель.
  • U+2069, POP DIRECTIONAL ISOLATE, возврат к старому направлению текста.
  • U+206A, INHIBIT SYMMETRIC SWAPPING, запретить симметричный обменШаблон:Efn.
  • U+206B, ACTIVATE SYMMETRIC SWAPPING, активировать симметричный обменШаблон:Efn.
  • U+206C, INHIBIT ARABIC FORM SHAPING, запретить арабскую форму формированияШаблон:Efn.
  • U+206D, ACTIVATE ARABIC FORM SHAPING, активировать арабскую форму формированияШаблон:Efn.
  • U+206E, NATIONAL DIGIT SHAPES, национальная форма цифрыШаблон:Efn.
  • U+206F, NOMINAL DIGIT SHAPES, номинальная форма цифрыШаблон:Efn.
  • U+FE00U+FE0F, VARIATION SELECTOR-1…16, выбор варианта начертания № 1 … № 16.
  • U+FEFF, ZERO WIDTH NO-BREAK SPACE / BYTE ORDER MARK, неразрывный пробел нулевой ширины / метка порядка байтов. Этот символ используется для указания того, что данный файл записан в UTF-16 или UTF-32 с определённым порядком байтов (поскольку символа U+FFFE нет, а в UTF-8 байты Шаблон:0x и Шаблон:0x не используются). Использование этого символа в качестве неразрывного пробела нулевой ширины, несмотря на первоначальное название (ZERO WIDTH NO-BREAK SPACE), не рекомендуется; для этого есть символ U+2060 (WORD JOINER).
  • U+FFF9, INTERLINEAR ANNOTATION ANCHOR, якорь межстрочной аннотации.
  • U+FFFA, INTERLINEAR ANNOTATION SEPARATOR, разделитель межстрочной аннотации.
  • U+FFFB, INTERLINEAR ANNOTATION TERMINATOR, окончание межстрочной аннотации.
  • U+FFFC, OBJECT REPLACEMENT CHARACTER, объектно-заменяющий символ. Указывает, что в этом месте текста должен находиться какой-то объект (например, изображение или виджет).
  • U+FFFD, REPLACEMENT CHARACTER, заменяющий символ. Используется, когда значение символа неизвестно или не может быть выражено в Юникоде (см. также символ SUB).
  • U+E0100U+E01EF, VARIATION SELECTOR-17…256, выбор варианта начертания № 17 … № 256.

Примечания

Комментарии

Шаблон:Комментарии

Источники

Шаблон:Примечания

Литература

Ссылки

Шаблон:Кодировки символов Шаблон:ASCII