Открыть сервис

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

Управляющие символы — это символы в кодировках символьных наборов, которые не представляют собой печатные знаки (буквы, цифры, знаки препинания), а предназначены для управления устройствами вывода, передачи данных или интерпретации текста. Они являются частью стандартных кодировок, таких как ASCII (American Standard Code for Information Interchange) и Unicode, и используются для выполнения специальных функций, таких как перевод строки, возврат каретки, табуляция или завершение текста.

История

История управляющих символов восходит к ранним дням телетайпов и телеграфных систем. В середине XX века, когда появились первые электронно-вычислительные машины (ЭВМ), возникла необходимость в стандартизации способов обмена информацией между устройствами. В 1963 году был разработан стандарт ASCII, который включал 33 управляющих символа (коды от 0 до 31 и 127). Эти символы предназначались для управления телетайпами, принтерами и другими периферийными устройствами. Например, символ «Возврат каретки» (CR, код 13) перемещал печатающую головку в начало строки, а «Перевод строки» (LF, код 10) — на следующую строку. С развитием компьютерных систем управляющие символы были адаптированы для управления текстовыми терминалами и операционными системами.

В 1970-х годах стандарт ASCII был расширен до 8-битных кодировок, таких как ISO 8859, которые добавили дополнительные управляющие символы для работы с графикой и специальными функциями. С появлением Unicode в 1990-х годах управляющие символы были включены в его базовую плоскость (C0 Controls и C1 Controls), что обеспечило их поддержку в современных системах.

Классификация

Управляющие символы классифицируются по стандартам кодировок и функциональному назначению. Основные группы включают:

По стандарту ASCII (C0 Controls)

ASCII определяет 33 управляющих символа с кодами 0–31 и 127. Они делятся на подгруппы:

По стандарту Unicode (C1 Controls)

Unicode включает дополнительные управляющие символы с кодами 128–159 (U+0080–U+009F), известные как C1 Controls. Они предназначены для расширенных функций, таких как управление шрифтами, цветами и графикой в терминалах (например, CSI — Control Sequence Introducer, OSC — Operating System Command).

По функциональному назначению

В современных системах управляющие символы часто делят на:

Устройство и характеристики

Управляющие символы представляют собой коды фиксированной длины (в ASCII — 7 бит, в Unicode — от 8 до 32 бит). Их интерпретация зависит от контекста: в текстовом файле они могут быть невидимыми, но при передаче на устройство вывода вызывают определённые действия. Например, символ LF (код 10) в Unix-подобных системах обозначает конец строки, а в Windows используется комбинация CR+LF (коды 13 и 10).

Примеры управляющих символов ASCII

Код (дес.)СимволНазваниеФункция
0NULNullЗаполнитель, отсутствие данных
7BELBellЗвуковой сигнал (звонок)
8BSBackspaceВозврат на один символ назад
9HTHorizontal TabГоризонтальная табуляция
10LFLine FeedПеревод строки (новая строка)
13CRCarriage ReturnВозврат каретки (в начало строки)
27ESCEscapeНачало управляющей последовательности
127DELDeleteУдаление символа (часто используется как стирание)

Применение

Управляющие символы широко используются в различных областях информационных технологий:

В текстовых протоколах и форматах

В терминалах и эмуляторах

В операционных системах

В программировании

Примеры

Интересные факты

Критика

Управляющие символы, особенно из стандарта ASCII, подвергаются критике за их ограниченность и неоднозначность в современных системах. Например, различия в интерпретации символов конца строки (LF в Unix, CR+LF в Windows) приводят к проблемам совместимости при обмене текстовыми файлами. Кроме того, многие управляющие символы, такие как DC1 и DC2, устарели и не используются в современных протоколах, что создаёт избыточность в стандартах. В Unicode управляющие символы C1 часто игнорируются или заменяются более современными механизмами, такими как управляющие последовательности.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →