mirror of
				https://github.com/symbl-cc/symbl-data.git
				synced 2025-11-04 06:23:18 -05: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].
 |