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

Из Википедии, свободной энциклопедии

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

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

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

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

Суммиров вкратце
Перспектива

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

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

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

Подробнее Код сим­во­ла, Английское название ...
Код
сим­во­ла
Английское название Русское название
по ГОСТ 27465—87[1]
Со­че­та­ние
кла­виш[b]
Escape-
по­сле­до­ва­тель­ность
Назначение
0x00 NULL (NUL) ПУСТО (ПУС) ^@ \0 Обозначает отсутствие данных на носителе (изначально таковым была перфолента, где единичный бит кодируется наличием отверстия, а нулевой бит — его отсутствием; участки перфоленты, не содержащие данные, не имеют кодовых отверстий, то есть содержат символы NUL). Некоторые терминалы отображают его как пробел, но это некорректно. Используется для обозначения конца последовательности (строки) символов в некоторых языках программирования (например, Си).
0x01 START OF HEADING (SOH) НАЧАЛО ЗАГОЛОВКА (НЗ) ^A В настоящее время используется в консоли маршрутизаторов Cisco.
0x02 START OF TEXT (STX) НАЧАЛО ТЕКСТА (НТ) ^B В настоящее время используется в консоли маршрутизаторов Cisco.
0x03 END OF TEXT (ETX) КОНЕЦ ТЕКСТА (КТ) ^C При вводе в терминале обычно интерпретируется как сигнал прерывания.
0x04 END OF TRANSMISSION (EOT) KOHЕЦ ПЕРЕДАЧИ (КП) ^D При вводе в терминале в Unix-подобных ОС интерпретируется как конец вводимых данных. Если текущая программа брала данные с терминала, то она завершается, как только обработает всё, что было до символа EOT.
0x05 ENQUIRY (ENQ) КТО ТАМ? (КТМ) ^E Использовался в телетайпной связи. В ответ предполагалось получить идентификационную строку удалённого аппарата.
0x06 ACKNOWLEDGE (ACK) ПОДТВЕРЖДЕНИЕ (ДА) ^F Использовался в телетайпной связи.
0x07 BELL (BEL) ЗВОНОК (ЗВ) ^G \a Если этот символ послать на принтер или терминал, то ничего не напечатается, но раздастся звуковой сигнал.
0x08 BACKSPACE (BS) ВОЗВРАТ НА ШАГ (ВШ) ^H \b Перемещает позицию печати на один символ назад. На принтерах может использоваться для наложения одного символа на другой, например: = BS /. При вводе в терминале иногда используется для удаления предшествующего символа.
0x09 HORIZONTAL TABULATION (HT) ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ (ГТ) ^I \t Перемещает позицию печати к следующей позиции горизонтальной табуляции.
0x0A LINE FEED (LF) ПЕРЕВОД СТРОКИ (ПС) ^J \n Перемещает позицию печати на одну строку вниз (изначально — без возврата каретки). Разделяет строки текстовых файлов в Unix-подобных ОС.
0x0B 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 Означает, что следующие за ним символы имеют значение, отличное от определённого в стандарте. Обычно начинает управляющие последовательности (см. также 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.
Закрыть

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

Суммиров вкратце
Перспектива

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

  • 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 GUARDED PROTECTED AREA (SPA), начало защищённой области.
  • 0x97, END OF GUARDED PROTECTED AREA (EPA), конец защищённой области.
  • 0x98, START OF STRING (SOS), начало строки.
  • 0x99, SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI), следующий символ интерпретируется как специальный графический.
  • 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, запретить симметричный обмен[c].
  • U+206B, ACTIVATE SYMMETRIC SWAPPING, активировать симметричный обмен[c].
  • U+206C, INHIBIT ARABIC FORM SHAPING, запретить арабскую форму формирования[c].
  • U+206D, ACTIVATE ARABIC FORM SHAPING, активировать арабскую форму формирования[c].
  • U+206E, NATIONAL DIGIT SHAPES, национальная форма цифры[c].
  • U+206F, NOMINAL DIGIT SHAPES, номинальная форма цифры[c].
  • 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.

Примечания

Литература

Ссылки

Wikiwand - on

Seamless Wikipedia browsing. On steroids.