Раздел 02

Пробелы

Пустое место тоже бывает символом. Одни пробелы разрешают перенос строки, другие удерживают части записи вместе, третьи только подсказывают место разрыва.

ВидКод и имяНазначениеДемонстрацияДействие
SPU+0020
SPACE
Обычный разделитель слов; перенос строки обычно разрешён.A B
NBSPU+00A0
NO-BREAK SPACE
Пробел, около которого не следует разрывать строку.A B
NNBSPU+202F
NARROW NO-BREAK SPACE
Узкий неразрывный пробел; встречается в типографике и некоторых языковых правилах.A B
THINU+2009
THIN SPACE
Узкий пробел без гарантии неразрывности.A B
HAIRU+200A
HAIR SPACE
Очень узкий типографский интервал; ширина зависит от шрифта.A B
ZWSPU+200B
ZERO WIDTH SPACE
Невидимая возможность переноса в строке без обычного пробела.A​B
WJU+2060
WORD JOINER
Запрещает разрыв строки в позиции и не имеет ширины.A⁠B

Неразрывный — не значит невидимый

U+00A0 обычно имеет ширину обычного пробела. Его особенность — поведение при переносе, а не внешний вид.

Осторожно с нулевой шириной

ZWSP и WORD JOINER трудно заметить при проверке текста. Не используйте их для визуального сокрытия данных, идентификаторов или команд.

HTML может схлопывать пробелы

Обычные пробелы в HTML-тексте обычно объединяются правилами разметки. Точное отображение также зависит от CSS и выбранного шрифта.

Проверяйте целевую систему

Редакторы, мессенджеры и системы поиска могут нормализовать или удалять некоторые невидимые символы.