Меню

Главная
Случайная статья
Настройки
Управляющие символы: различия между версиями
Материал из https://ru.wikipedia.org

Управляющие символы — это символы в кодировке, предназначенные для управления устройствами, организации передачи данных и других целей и, как правило, не имеющие графического представления.

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

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

Содержание

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

В 1963 году была принята первая редакция стандарта ASCII, в которой было определено 35 управляющих символов. Большинство из них располагалось в диапазоне 0x00

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


Управляющие символы ISO/IEC 8859
  • 0x80, PADDING CHARACTER (PAD), символ-заполнитель.
  • 0x81, HIGH OCTET PRESET (HOP), предустановка старшего октета.
  • 0x82, BREAK PERMITTED HERE (BPH), здесь разрешён разрыв строки.
  • 0x83, NO BREAK HERE (NBH), здесь не разрешён разрыв строки.
  • 0x84, INDEX (IND), перевод строки (без изменения позиции печати в строке).
  • 0x85, NEXT LINE (NEL), следующая строка. Одновременно переводит строку и перемещает позицию печати в начало строки (эквивалентен CR + LF).
  • 0x86, START OF SELECTED AREA (SSA), начало выделенной области.
  • 0x87, END OF SELECTED AREA (ESA), конец выделенной области.
  • 0x88, HORIZONTAL TABULATION SET (HTS), установка позиций горизонтальной табуляции.
  • 0x89, HORIZONTAL TABULATION WITH JUSTIFICATION (HTJ), установка позиций и выравнивания горизонтальной табуляции.
  • 0x8A, VERTICAL TABULATION SET (VTS), установка позиций вертикальной табуляции.
  • 0x8B, PARTIAL LINE DOWN (PLD), частичный перевод строки вниз (вперёд).
  • 0x8C, PARTIAL LINE UP (PLU), частичный перевод строки вверх (назад).
  • 0x8D, REVERSE INDEX (RI), обратный перевод строки (без изменения позиции печати в строке).
  • 0x8E, SINGLE SHIFT TWO (SS2), 2-e значение для следующего символа.
  • 0x8F, SINGLE SHIFT THREE (SS3), 3-e значение для следующего символа.
  • 0x90, DEVICE CONTROL STRING (DCS), строка управления устройством.
  • 0x91, PRIVATE USE ONE (PU1), пользовательский символ № 1.
  • 0x92, PRIVATE USE TWO (PU2), пользовательский символ № 2.
  • 0x93, SET TRANSMIT STATE (STS), установка режима передачи.
  • 0x94, CANCEL CHARACTER (CCH), символ отмены.
  • 0x95, MESSAGE WAITING (MW), есть сообщение.
  • 0x96, START OF PROTECTED AREA (SPA), начало защищённой области.
  • 0x97, END OF PROTECTED AREA (EPA), конец защищённой области.
  • 0x98, START OF STRING (SOS), начало строки.
  • 0x99, SINGLE GRAPHIC CHARACTER INTRODUCER (SGC), следующий символ интерпретируется как специальный графический.
  • 0x9A, SINGLE CHARACTER INTRODUCER (SCI), следующий символ интерпретируется как управляющий.
  • 0x9B, CONTROL SEQUENCE INTRODUCER (CSI), начало управляющей последовательности. Обычно эквивалентен ESC + [.
  • 0x9C, STRING TERMINATOR (ST), окончание строки.
  • 0x9D, OPERATING SYSTEM COMMAND (OSC), команда операционной системы.
  • 0x9E, PRIVACY MESSAGE (PM), конфиденциальное сообщение.
  • 0x9F, APPLICATION PROGRAM COMMAND (APC), команда прикладной программы.


Управляющие символы Юникода
  • 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, запретить симметричный обмен[b].
  • U+206B, ACTIVATE SYMMETRIC SWAPPING, активировать симметричный обмен[b].
  • U+206C, INHIBIT ARABIC FORM SHAPING, запретить арабскую форму формирования[b].
  • U+206D, ACTIVATE ARABIC FORM SHAPING, активировать арабскую форму формирования[b].
  • U+206E, NATIONAL DIGIT SHAPES, национальная форма цифры[b].
  • U+206F, NOMINAL DIGIT SHAPES, номинальная форма цифры[b].
  • 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 байты 0xFE и 0xFF не используются). Использование этого символа в качестве неразрывного пробела нулевой ширины, несмотря на первоначальное название (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.


Комментарии
  1. Для первых 32 управляющих символов это комбинация Ctrl и клавиши, соответствующей символу с ASCII-кодом на 64 больше, чем код требуемого управляющего символа.
  2. 1 2 3 4 5 6 Символ не рекомендуется к использованию.


Ссылки
Downgrade Counter