Up 2014.09.01

This commit is contained in:
Oleg Grigoriev
2014-09-01 14:32:24 +04:00
parent c393057ba4
commit 77ac4e3653
20 changed files with 759 additions and 574 deletions

View File

@ -0,0 +1,46 @@
Управляющие символы не имеют никакого графического представления.
Они используются для управления потоком данных.
В рамках 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 #] прерывающий текущий процесс.
## Другие блоки
Кроме базового блока, есть ещё управляющие символы ISO 8859, расположенные в начале [SECTION:latin-1-supplement расширенной латиницы].
Они также в большинстве своём устаревшие.
С другой стороны есть символы, имеющие управляющее значение именно в рамках стандарта Unicode.
Например, [U:034F *] или [U:200E *].