Files
symbl-data/loc/ru/sections/control-character.axyml
Oleg Grigoriev 4aec3141da Up 2014.09.17
2014-09-17 16:27:28 +04:00

82 lines
5.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Управляющие символы не имеют никакого графического представления.
Они используются для управления потоком данных. В рамках 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].