mirror of
https://github.com/symbl-cc/symbl-data.git
synced 2025-10-27 19:51:10 -04:00
82 lines
5.6 KiB
Plaintext
82 lines
5.6 KiB
Plaintext
Управляющие символы не имеют никакого графического представления.
|
||
Они используются для управления потоком данных. В рамках Unicode имеет смысл только небольшое количество из этих символов.
|
||
Например, перевод строки ([U:000A]) или табуляция ([U:0009]).
|
||
|
||
## Совместимость
|
||
|
||
Большинство же символов этого блока включены в стандарт только для поддержания совместимости с другими кодировками (тем более, что эти символы - часть ASCII).
|
||
Это символы управления телетайпами, перфокартами, различными терминалами.
|
||
Например, при получении определённого символа устройство должно что-то сделать: сбросить страницу, закончить обработку текущих данных, сделать запрос.
|
||
Есть даже символ [U:0007], заставляющий устройство пищать через встроенных динамик.
|
||
|
||
Многие устройства для которых они предназначались уже давно устарели.
|
||
Либо стали использовать для тех же целей различные языки управления устройствами (Postscript и другие).
|
||
Там же, где эти символы ещё используются, не используется Юникод.
|
||
Также многие управляющие символы используются в некоторых программах не так, как предполагалось изначально.
|
||
|
||
Некоторые символы, которые имели отношение к выводу текста, также не работают на современных системах.
|
||
Например [U:0008] (backspace) затирал предыдущий символ, но сейчас уже не имеет былой силы:
|
||
|
||
[[[js
|
||
var str = "ab\bc"; // выведет "ab c", а не "ac", как по старой логике
|
||
]]]
|
||
|
||
## Использование
|
||
|
||
В связи с широким использованием управляющих символов, в языках программирования для большинства из них предусмотрены escape-последовательности:
|
||
|
||
[[[php
|
||
// \n - перенос строки (U+000A), \t - табуляция (U+0009)
|
||
echo "One line\nTwo line\tThree line";
|
||
]]]
|
||
|
||
Также многие терминалы позволяли вводить такие символы вручную, обычно с помощью сочетания с клавишей Ctrl.
|
||
Например, Ctrl-C посылает символ [0003 #] прерывающий текущий процесс.
|
||
|
||
[[[code
|
||
U+0000: \0 Пустой символ
|
||
U+0001: Ctrl+A Начало заголовка
|
||
U+0002: Ctrl+B Начало текста
|
||
U+0003: Ctrl+C Конец текста
|
||
U+0004: Ctrl+D Конец передачи
|
||
U+0005: Ctrl+E Запрос
|
||
U+0006: Ctrl+F Подтверждение
|
||
U+0007: \a Ctrl+G Звуковой сигнал
|
||
U+0008: \b Ctrl+H Возврат на шаг
|
||
U+0009: \t Ctrl+I Горизонтальная табуляция
|
||
U+000A: \n Ctrl+J Перевод строки
|
||
U+000B: \v Ctrl+K Вертикальная табуляция
|
||
U+000C: \f Ctrl+L Прогон страницы
|
||
U+000D: \r Ctrl+M Возврат каретки
|
||
U+000E: Ctrl+N Режим национальных символов
|
||
U+000F: Ctrl+O Режим обычного ASCII
|
||
U+0010: Ctrl+P Освобождение канала данных
|
||
U+0011: Ctrl+Q 1-й код управления
|
||
U+0012: Ctrl+R 2-й код управления
|
||
U+0013: Ctrl+S 3-й код управления
|
||
U+0014: Ctrl+T 4-й код управления
|
||
U+0015: Ctrl+U Отрицательное подтверждение
|
||
U+0016: Ctrl+V Пустой символ для синхронного режима
|
||
U+0017: Ctrl+W Конец блока передаваемых данных
|
||
U+0018: Ctrl+X Отмена
|
||
U+0019: Ctrl+Y Конец носителя
|
||
U+001A: Ctrl+Z Замена
|
||
U+001B: Ctrl+[ Альтернативный регистр #2
|
||
U+001C: Ctrl+\ Разделитель файлов
|
||
U+001D: Ctrl+] Разделитель групп
|
||
U+001E: Ctrl+^ Разделитель записей
|
||
U+001F: Ctrl+_ Разделитель полей
|
||
]]]
|
||
|
||
## Другие блоки
|
||
|
||
Кроме базового блока, есть ещё управляющие символы ISO 8859, расположенные в начале [SECTION:latin-1-supplement расширенной латиницы].
|
||
Они также в большинстве своём устаревшие.
|
||
|
||
С другой стороны есть символы, имеющие управляющее значение именно в рамках стандарта Unicode.
|
||
Например, [U:034F *] или [U:200E *].
|
||
|
||
## Иконки
|
||
|
||
Хотя сами управляющие символы не имеют никакого графического представления, для этого могут использоваться иконки из блока [BLOCK:control-pictures].
|