Разделители строк
LINE SEPARATOR (U+2028)
Собственный юникодный символ «здесь новая строка», отличный от перевода строки ASCII. Он заканчивает строку, но не абзац.
- Кодовая позиция
U+2028- Категория
- Разделители строк
- Удаляется по умолчанию
- Нет
- Управляющий параметр
- Концы строк
-n - Может нести нагрузку
- Нет
Откуда он берётся
Shift+Enter в большинстве текстовых процессоров и программ вёрстки, а также всё, что из них выгружают. Текстовые редакторы macOS и InDesign производят их особенно щедро.
Почему это важно
Это разрыв строки, который большинство построчных программ не распознаёт. Файлы делятся на неправильное число строк, строки CSV склеиваются, а сырой U+2028 внутри строкового литерала JavaScript когда-то был синтаксической ошибкой — и это ломало JSON, встроенный в HTML.
До и после
Разрыв строки, который ваш текстовый редактор может и не посчитать разрывом.
Символ показан подписанной плашкой, чтобы было видно, где он стоит. В вашем тексте он не рисует ровно ничего.
Когда он уместен
Внутри абзаца, которому действительно нужен мягкий разрыв строки, — в программах, которые его понимают. В обычном тексте безопаснее перевод строки, и для читателя он значит то же самое.
Как его удалить
Включите параметр «Концы строк» (`-n`) — и символ свернётся в обычный LF вместе с CRLF, CR, NEL и U+2029.
Это водяной знак ИИ?
Не водяной знак
Нет. Он приходит из текстовых процессоров и программ вёрстки. Его находка говорит, что текст прошёл через редактор форматированного текста.
Никак не связан с машинно сгенерированным текстом. Он приходит из программы, с клавиатуры или от человека.
Вопросы
Почему он ломал мой JavaScript?
До ES2019 U+2028 и U+2029 нельзя было писать в строковых литералах без экранирования, поэтому JSON, вставленный прямо в тег script, мог не разобраться. Современные движки их допускают, старые и многие инструменты — по-прежнему нет.
Почему он не сворачивается по умолчанию?
Потому что смена концов строк меняет файл. Это решение должны принимать вы, а не чистильщик за вас.
Проверьте свой текст
Вставьте что угодно в инструмент очистки, чтобы увидеть каждый скрытый символ: позицию, кодовую позицию и то, что произойдёт с каждым из них. Ничего никуда не отправляется.