Соединители, селекторы и заполнители
ZERO WIDTH JOINER (U+200D)
Невидимый символ, который просит нарисовать двух соседей как одно целое. Именно он превращает трёх отдельных человечков в эмодзи семьи и связывает арабские и индийские буквы, которые иначе стояли бы порознь.
- Кодовая позиция
U+200D- Другие записи
u200d\u200d‍- Категория
- Соединители, селекторы и заполнители
- Удаляется по умолчанию
- Если одиночный
- Управляющий параметр
- Агрессивно
-a - Может нести нагрузку
- Да
Скопировать и вставить U+200D
Чтобы скопировать и вставить ZERO WIDTH JOINER (U+200D), нажмите кнопку: в буфер обмена попадёт сам символ, а Ctrl+V (Cmd+V на Mac) вставит его в любое место, где можно печатать.
Откуда он берётся
Любая эмодзи-последовательность, которую вы когда-либо отправляли: 👨👩👧 складывается из трёх человечков и двух соединителей. В тексте он берётся из набора на персидском, хинди, малаялам и арабском, из скопированного веб-содержимого и из стеганографии нулевой ширины, где вместе с U+200C образует алфавит из двух символов.
Почему это важно
Это тот самый символ, из-за которого наивные чистильщики опасны. Удалите все U+200D, и одна эмодзи семьи распадётся на трёх отдельных людей, а слова в полудюжине письменностей сломаются. Оставьте все U+200D, и самый частый скрытый канал останется на месте.
До и после
Одна и та же кодовая позиция дважды. Тот соединитель, что стоит между «прив» и «ет», удалён; два внутри семьи оставлены, потому что без них остались бы три отдельных человека.
Символ показан подписанной плашкой, чтобы было видно, где он стоит. В вашем тексте он не рисует ровно ничего.
Когда он уместен
Между двумя базовыми эмодзи и между двумя буквами одной соединяющейся письменности: арабской, персидской, деванагари, малаялам. Ghostchars оставляет его ровно в этих позициях и удаляет во всех остальных.
Как его удалить
Базовый проход удаляет одиночный соединитель, тот, что стоит между двумя латинскими буквами. Несущий нагрузку остаётся и попадает в отчёт как «оставлен: несёт нагрузку»; параметр «Агрессивно» (`-a`) удаляет и такие, ценой ваших эмодзи и вашего персидского.
Текст лежит в файле, а не в буфере обмена? Отчёт по документу для .docx, .odt и .html находит символ внутри файла вместе со скрытыми фрагментами и исправлениями, и открывать файл для этого не нужно. Если вопрос в том, что делает остальной текст, а не этот один символ, можно измерить разброс длины предложений и увидеть, где проявляется каждая привычка: без баллов и без утверждений о том, кто написал текст.
Это водяной знак ИИ?
Используется для сокрытия данных, но не водяной знак
Нет. Соединитель нулевой ширины между двумя латинскими буквами оказывается контрабандой, но контрабандой, поставленной руками: это старейший приём текстовой стеганографии. Внутри эмодзи он просто часть того, как эмодзи устроены. Ни то, ни другое не указывает на автора.
Известный носитель намеренно спрятанных данных. Кто-то поместил его туда специально, а это уже другой вопрос, чем то, кто написал слова.
Вопросы
Не сломает ли чистка мои эмодзи?
При настройках по умолчанию не сломает. Ghostchars смотрит на символы с обеих сторон: соединитель между двумя базовыми эмодзи остаётся. Удаляет их только параметр «Агрессивно» (`-a`), и он об этом прямо говорит.
А как быть с персидским, хинди или арабским?
Соединитель между двумя буквами одной соединяющейся письменности остаётся по той же причине. Его удаление изменило бы форму слова, а в некоторых словах и его значение.
Как узнать, какие именно символы оставлены?
Каждая находка перечислена со строкой, позицией и действием: удалён, заменён, оставлен, потому что несёт нагрузку, или найден, но не тронут. Молча не решается ничего.
Проверьте свой текст
Вставьте что угодно в инструмент очистки, чтобы увидеть каждый скрытый символ: позицию, кодовую позицию и то, что произойдёт с каждым из них. Ничего никуда не отправляется.
Проверьте свой текстОчищать в Chrome прямо при вставкеОчищать на Mac одной комбинацией клавишВсе символы