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

Соединители, селекторы и заполнители

ZERO WIDTH JOINER (U+200D)

Невидимый символ, который просит нарисовать двух соседей как одно целое. Именно он превращает трёх отдельных человечков в эмодзи семьи и связывает арабские и индийские буквы, которые иначе стояли бы порознь.

Кодовая позиция
U+200D
Удаляется по умолчанию
Если одиночный
Управляющий параметр
Агрессивно -a
Может нести нагрузку
Да

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

Любая эмодзи-последовательность, которую вы когда-либо отправляли: 👨‍👩‍👧 — это три человечка и два соединителя. В тексте он берётся из набора на персидском, хинди, малаялам и арабском, из скопированного веб-содержимого и из стеганографии нулевой ширины, где вместе с U+200C образует алфавит из двух символов.

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

Это тот самый символ, из-за которого наивные чистильщики опасны. Удалите все U+200D — и одна эмодзи семьи распадётся на трёх отдельных людей, а слова в полудюжине письменностей сломаются. Оставьте все U+200D — и самый частый скрытый канал останется на месте.

До и после

ДопривU+200Dет 👨U+200D👩U+200D👧
Послепривет 👨U+200D👩U+200D👧

Одна и та же кодовая позиция дважды. Тот соединитель, что стоит между «прив» и «ет», удалён; два внутри семьи оставлены, потому что без них остались бы три отдельных человека.

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

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

Между двумя базовыми эмодзи и между двумя буквами одной соединяющейся письменности — арабской, персидской, деванагари, малаялам. Ghostchars оставляет его ровно в этих позициях и удаляет во всех остальных.

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

Одиночный соединитель — тот, что стоит между двумя латинскими буквами, — удаляет базовый проход. Несущий нагрузку остаётся и попадает в отчёт как «оставлен — несёт нагрузку»; параметр «Агрессивно» (`-a`) удаляет и такие, ценой ваших эмодзи и вашего персидского.

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

Используется для сокрытия данных — но не водяной знак

Нет. Соединитель нулевой ширины между двумя латинскими буквами — контрабанда, но контрабанда, поставленная руками: это старейший приём текстовой стеганографии. Внутри эмодзи он просто часть того, как эмодзи устроены. Ни то, ни другое не указывает на автора.

Известный носитель намеренно спрятанных данных. Кто-то поместил его туда специально, а это уже другой вопрос, чем то, кто написал слова.

Вопросы

Не сломает ли чистка мои эмодзи?

При настройках по умолчанию — нет. Ghostchars смотрит на символы с обеих сторон: соединитель между двумя базовыми эмодзи остаётся. Удаляет их только параметр «Агрессивно» (`-a`), и он об этом прямо говорит.

А как быть с персидским, хинди или арабским?

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

Как узнать, какие именно символы оставлены?

Каждая находка перечислена со строкой, позицией и действием: удалён, заменён, оставлен — несёт нагрузку или найден, но не тронут. Молча не решается ничего.

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

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

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