Перейти к содержимому
Ghostchars

Экзотические пробелы

NO-BREAK SPACE (U+00A0)

Пробел, который запрещает перенос строки. Выглядит он в точности как обычный пробел и при этом является совершенно другой кодовой позицией.

Кодовая позиция
U+00A0
Удаляется по умолчанию
Нет
Управляющий параметр
Пробелы -s
Может нести нагрузку
Нет

Откуда он берётся

HTML-сущность ` `, текстовые процессоры (в некоторых языках они сами ставят его после короткого слова), копирование с веб-страниц и любая французская раскладка, где правило требует пробел перед `;` `:` `?` `!`.

Почему это важно

Это самое частое невидимое различие в обычном тексте. Поиск, `split(" ")`, разбор CSV, проверка форм и сравнение строк видят другой символ, и ни один человек его не заметит. Заодно это готовый двоичный канал: неразрывный пробел — единица, обычный — ноль.

До и после

До10U+00A0км
После10 км

На экране не отличить. Разбить на два слова по обычному пробелу удастся только вторую строку.

Символ показан подписанной плашкой, чтобы было видно, где он стоит. В вашем тексте он не рисует ровно ничего.

Когда он уместен

Постоянно. «10 км», «рис. 3», французские отбивки у знаков препинания и фамилия, которая не должна разъезжаться по строкам. У этого символа есть настоящая работа — поэтому по умолчанию Ghostchars его не трогает.

Как его удалить

Включите параметр «Пробелы» (`-s`). Символ будет ЗАМЕНЁН обычным пробелом, а не удалён, — так слова останутся раздельными.

Это водяной знак ИИ?

Встречается в выводе ИИ — но не водяной знак

Он действительно встречается в выводе моделей — чаще всего во французском и немецком тексте, где им полны обучающие данные, и рядом с единицами измерения. Но это не водяной знак: та же самая типографика получается у живого верстальщика и у французской клавиатуры. Неразрывный пробел не доказывает ничего о том, кто написал предложение.

Он действительно попадается в выводе моделей — как обычная типографика, усвоенная из обучающих данных. Это не намеренно, не задумано как обнаружимое и ничего не доказывает про отдельный документ.

Вопросы

Почему он не удаляется по умолчанию?

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

Это примета ИИ во французском тексте?

Нет. Французская типографика требует пробел перед `;` `:` `?` и `!`, и правильный пробел там — неразрывный. Найти их во французском значит найти правильный французский, а не машину.

Проверьте свой текст

Вставьте что угодно в инструмент очистки, чтобы увидеть каждый скрытый символ: позицию, кодовую позицию и то, что произойдёт с каждым из них. Ничего никуда не отправляется.

Проверьте свой текстВсе символы