mirror of
https://github.com/symbl-cc/symbl-data.git
synced 2025-11-01 06:01:09 -04:00
Up 2014.09.01
This commit is contained in:
37
loc/ru/symbols-desc/0000.axyml
Normal file
37
loc/ru/symbols-desc/0000.axyml
Normal file
@ -0,0 +1,37 @@
|
||||
Во многих языках программирования нулевой символ используется для обозначения окончания строки.
|
||||
|
||||
Это так называемые "Си-строки" (название происходит от языка Си, где используются такие строки).
|
||||
Другие названия: null-терминированная строка или ASCIZ-строка.
|
||||
|
||||
При таком подходе, код работающий со строкой изначально не знает её длинны и обрабатывает символы последовательно, пока не встретит нулевой.
|
||||
|
||||
[[[code:c
|
||||
/* Вывод строки */
|
||||
i = 0; // начать с начала строки
|
||||
while (s[i] != 0) { // работать, пока текущий символ не \0
|
||||
echo s[i]; // вывести очередной символ
|
||||
i++; // перейти к следующему
|
||||
}
|
||||
]]]
|
||||
|
||||
Из минусов такого подхода:
|
||||
|
||||
[*] Заранее неизвестна длина строки
|
||||
[*] Строка не может содержать непосредственно символ \0
|
||||
[*] Если забыть поставить в конце \0 или случайно удалить его, код пойдёт работать дальше с непредвиденными последствиями.
|
||||
|
||||
В случае использования многобайтовых кодировок фиксированной ширины, нулевой символ также должен занимать положенное количество байт.
|
||||
Например, в UCS-2: два нулевых байта.
|
||||
|
||||
Альтернативный подход при организации строк - хранить длину строки в отдельной переменной.
|
||||
|
||||
При выводе Unicode-строки нулевой символ не имеет никакого представления и никого влияния на поток вывода.
|
||||
Некоторые программы и устройства могут отображать его в виде пробела, но это не совсем корректно.
|
||||
|
||||
Однако, полное игнорирование данного символа иногда может приводить к неприятным последствиями.
|
||||
Например, некоторые старые браузеры расценивали строку типа [code <\0script>] как [code <script>], что позволяло злоумышленникам внедрять XSS на чужие сайты (авторы которых при обработке данных не предусмотрели такой нюанс).
|
||||
|
||||
Для вставки данного символа во многих языках программирования имеется escape-последовательность [code \0].
|
||||
|
||||
Это один из восьми управляющих символов, чьё наличие требует стандарт POSIX.
|
||||
|
||||
6
loc/ru/symbols-desc/0001.axyml
Normal file
6
loc/ru/symbols-desc/0001.axyml
Normal file
@ -0,0 +1,6 @@
|
||||
В рамках Unicode данный символ никак не отображается при выводе и никак не влияет на порядок вывода остальных символов.
|
||||
|
||||
В стандарт он включён только для совместимости с другими кодировками.
|
||||
|
||||
По данным Википедии на данный момент этот символ, как и [U:0002 *] используется в консоли маршрутизаторов Cisco.
|
||||
|
||||
6
loc/ru/symbols-desc/0002.axyml
Normal file
6
loc/ru/symbols-desc/0002.axyml
Normal file
@ -0,0 +1,6 @@
|
||||
В рамках Unicode данный символ никак не отображается при выводе и никак не влияет на порядок вывода остальных символов.
|
||||
|
||||
В стандарт он включён только для совместимости с другими кодировками.
|
||||
|
||||
По данным Википедии на данный момент этот символ, как и [U:0001 *] используется в консоли маршрутизаторов Cisco.
|
||||
|
||||
7
loc/ru/symbols-desc/0003.axyml
Normal file
7
loc/ru/symbols-desc/0003.axyml
Normal file
@ -0,0 +1,7 @@
|
||||
В рамках Unicode данный символ никак не отображается при выводе и никак не влияет на порядок вывода остальных символов.
|
||||
|
||||
В стандарт он включён только для совместимости с другими кодировками.
|
||||
|
||||
Наличие символа в потоке ввода интерпретировалось, как прерывание.
|
||||
Послать его можно было нажатием Ctrl-C.
|
||||
|
||||
7
loc/ru/symbols-desc/0004.axyml
Normal file
7
loc/ru/symbols-desc/0004.axyml
Normal file
@ -0,0 +1,7 @@
|
||||
В рамках Unicode данный символ никак не отображается при выводе и никак не влияет на порядок вывода остальных символов.
|
||||
|
||||
В стандарт он включён только для совместимости с другими кодировками.
|
||||
|
||||
В Unix-системах обозначает конец данных.
|
||||
Обрабатывющий данные процесс, завершает обработку, достигнув этого символа.
|
||||
|
||||
6
loc/ru/symbols-desc/0005.axyml
Normal file
6
loc/ru/symbols-desc/0005.axyml
Normal file
@ -0,0 +1,6 @@
|
||||
Символ Enquiry использовался в основном в телетайпах.
|
||||
Это запрос к удалённому аппарату с просьбой предоставить информацию о себе.
|
||||
По сути это запрос "кто ты такой?".
|
||||
|
||||
В ответ на подобный запрос обычно выдавалась строка идентифицирующее устройство, описывающее имеющееся оборудование и текущее состояние.
|
||||
|
||||
18
loc/ru/symbols-desc/0007.axyml
Normal file
18
loc/ru/symbols-desc/0007.axyml
Normal file
@ -0,0 +1,18 @@
|
||||
На старых устройствах вывод этого символа приводил к звуковому сигналу (обычно через системный динамик).
|
||||
При этом ничего не выводилось.
|
||||
|
||||
Для его ввода была предназначена Escape-последовательность [code \a]:
|
||||
|
||||
[[[code
|
||||
s = "Вот вам: \a!!";
|
||||
echo s;
|
||||
]]]
|
||||
|
||||
Также послать этот символ можно было сочетанием клавиш Ctrl-G.
|
||||
|
||||
Большинстве современных систем, к счастью, нельзя заставить мерзко пищать с помощью простого текста.
|
||||
|
||||
В Unicode этот символ добавлен только для совместимости с другими кодировками.
|
||||
|
||||
Также это один из нескольких управляющих символов, чьё обязательное наличие требует стандарт POSIX.
|
||||
|
||||
15
loc/ru/symbols-desc/0008.axyml
Normal file
15
loc/ru/symbols-desc/0008.axyml
Normal file
@ -0,0 +1,15 @@
|
||||
Управляющий символ, перемещающий каретку на один шаг назад.
|
||||
|
||||
На некоторых устройствах мог использоваться для наложения одних символов на другой.
|
||||
Например, [code c\b^] (где \b - escape-последовательность для U+0008) напечатает [code ĉ].
|
||||
|
||||
При вводе с терминала затирает предыдущий символ.
|
||||
Аналог клавиши Backspace.
|
||||
|
||||
В рамках Unicode не имеет смысла и введён для совместимости.
|
||||
|
||||
В современных системах не работает.
|
||||
|
||||
[[[php
|
||||
echo "ab\bc"; // напечатает "ab c", а не "ac"
|
||||
]]]
|
||||
43
loc/ru/symbols-desc/0009.axyml
Normal file
43
loc/ru/symbols-desc/0009.axyml
Normal file
@ -0,0 +1,43 @@
|
||||
Горизонтальная табуляция используется для форматирования текста.
|
||||
Визуально она отображается в виде пустого пространства внутри строки.
|
||||
|
||||
В языках программирования используется для задания отступов.
|
||||
Часто табуляция эквивалентна четырём пробелам, но встречаются и другие значения.
|
||||
|
||||
[[[code:html
|
||||
<div class="first">
|
||||
<div class="second">
|
||||
Это пример форматрирования исходного кода с помощью табуляции.
|
||||
</div>
|
||||
</div>
|
||||
]]]
|
||||
|
||||
В зависимости от устройства или приложения табуляция может иметь не фиксированную длину.
|
||||
Например, она может использоваться для перехода к следующему столбцу в таблице:
|
||||
|
||||
[[[code
|
||||
one two three
|
||||
1 2 3
|
||||
111 222 333 - здесь промежутки меньше
|
||||
]]]
|
||||
|
||||
При вводе с клавиатуры используется клавиша "Tab", а во многих редакторах и сочетание "Ctrl-I".
|
||||
|
||||
В исходном коде можно использовать Escape-последовательность [code \t]:
|
||||
|
||||
[[[php
|
||||
echo "one\ttwo";
|
||||
]]]
|
||||
|
||||
Многие текстовые редакторы можно настроить так, чтобы символ табуляции сразу заменялся на последовательность из нескольких (обычно четырёх) пробелов.
|
||||
|
||||
Некоторые форматы (например, TSV) используют символ табуляции для разделения данных.
|
||||
Это может быть удобнее, чем использования для этих целей пробела или, например, запятой.
|
||||
Так как и пробел и запятая гораздо чаще используются в различных данных, чем таб.
|
||||
|
||||
Среди нескольких управляющих символов, обязательного наличия которых требует POSIX, есть и [code \t].
|
||||
|
||||
Жаргонное название символа горизонтальной табуляции - "таб" ("поставь здесь пару табов").
|
||||
|
||||
Существует также [U:000B #].
|
||||
|
||||
Reference in New Issue
Block a user