Невидимые символы в тексте после ChatGPT: как найти и удалить
Невидимые символы — это кодовые точки, которых не показывает редактор, но которые хранит файл. После копирования из чата в тексте остаются обвязки цитат. Реже встречаются скрытые переносы и специальные пробелы. На глаз их не найти: нужна проверка посимвольно.
Проверить текст в браузерном демо текст не покидает браузер
Что обычно остаётся после чата
Следующие диапазоны таблица снятия humanizer-ru относит к классу safe: это обвязка копипасты, она снимается автоматически.
U+200B— нулевой пробел (zero-width space);U+2060— соединитель слов (word joiner);U+FEFF— маркер порядка байтов (BOM), встречается и после правок кодировок;U+00AD— мягкий перенос: ломает поиск по документу и сравнение строк;U+E200–U+E204иU+EA01–U+EA02— символы приватной области, которыми интерфейс ChatGPT обрамляет цитаты и скрытые блоки;U+E0000–U+E007F— Unicode-теги вне эмодзи-флагов.
Живые примеры из реестра доказательств humanizer-ru (каждая запись привязана к снимку ревизии с датой доступа):
- Август 2024 года, статья Amu Television в английской Википедии: в скопированном тексте двадцать три нулевых пробела
U+200B. Проверено 2026-08-06.
en.wikipedia.org, ревизия 1241301672 - Февраль 2025 года, статья List of English-medium schools in Bangladesh: двенадцать невидимых символов
U+E200–U+E202вокруг меток цитирования ChatGPT. Проверено 2026-08-06.
en.wikipedia.org, ревизия 1274664396 - Июль 2025 года, снимок страницы Wikipedia:Signs of AI writing: короткая форма сносок ChatGPT — цифра между невидимыми символами
U+EA01иU+EA02. Проверено 2026-07-14.
en.wikipedia.org, ревизия 1363998845
Оговорка честности: нулевые пробелы и невидимая разметка — находки класса B. Их заносят и другие источники: сайты, CMS, почтовые рассылки. Модель в примерах выше не атрибутирована, вердиктом об авторстве такая находка не является.
Unicode-теги и стеганографические «водяные знаки»
Блок тегов U+E0000–U+E007F используют и исследовательские схемы скрытой маркировки. В работе SteganoPrompt (arXiv:2605.16336, AIES 2026) печатная нагрузка кодируется символами этого блока по правилу chr(0xE0000 + ord(c)): закодированный текст визуально неотличим от исходного и переживает копирование между редакторами. Проверено 2026-08-25.
Теги внутри эмодзи-флагов (Англия, Шотландия, Уэльс) легитимны и не снимаются ни в каком режиме: проверка отличает флаг от одиночных тегов.
U+202F: не «водяной знак», а узкий неразрывный пробел
Запрос «удалить водяные знаки U+202F» встречается часто, поэтому ответим прямо. U+202F (narrow no-break space) — типографский символ из набора Юникода. У него нет владельца и нет сертификата происхождения: его ставят и системы вёрстки, и чат-интерфейсы, и человек с клавиатурой. Называть его водяным знаком нельзя.
Публичный разбор классов меток watermarks-remover (MIT) описывает снимаемый слой: мягкий перенос 0x00AD, наборные пробелы 0x2000–0x200A, вариационные селекторы 0xFE00–0xFE0F. Русская редакция таблицы исключает неразрывный пробел U+00A0 и узкий неразрывный пробел U+202F — это норма набора. Проверено 2026-08-26.
github.com, watermarks-remover, снимок f10efaa7
В таблице снятия humanizer-ru U+202F относится к классу ambiguous: замена на обычный пробел возможна только в явном режиме --include-ambiguous, инструмент показывает изменения и предупреждает о риске.
Что снимается, а что нет
| Класс | Примеры | Действие |
|---|---|---|
| safe | нулевой пробел, мягкий перенос, BOM, PUA-обвязка цитат ChatGPT, Unicode-теги вне флагов | снимаются автоматически; результат проверяем повторным прогоном |
| ambiguous | ZWJ/ZWNJ, bidi-метки, вариационные селекторы, спецпробелы (NBSP, U+2009, U+202F) | только в явном режиме --include-ambiguous; спецпробелы заменяются обычным пробелом, а не удаляются |
| dangerous | разделитель строк U+2028, разделитель абзацев U+2029, межстрочные аннотации U+FFF9–U+FFFB | показываются в отчёте и не снимаются никогда; символ вне таблицы считается dangerous |
Массового режима «удалить всё невидимое» не существует по построению: снятие структурных символов склеивает строки и теряет чтение.
Как проверить и снять
Без установки: демо в браузере подсвечивает находки, в том числе невидимые, и объясняет каждую. Расчёт идёт локально.
В терминале:
pip install humanizer-ru
humanizer-markers --scan файл.txt
humanizer-markers --remove файл.txt
humanizer-clean файл.txt
--scan— отчёт: какие символы найдены, в каких строках, какого класса;--remove— снимает safe-диапазоны, ambiguous только с флагом--include-ambiguous, dangerous показывает и не трогает;humanizer-clean— полный сценарий: проверка до, снятие поддерживаемых артефактов, проверка после; неподдерживаемые находки остаются явным остатком;- в агентной среде тот же набор доступен через MCP, конфигурация одной строкой:
{"mcpServers":{"humanizer-ru":{"command":"uvx","args":["--from","humanizer-ru","humanizer-mcp"]}}}
Честные границы
- Находка невидимых символов — факт о тексте, а не вердикт об авторстве. Кроме служебных меток интерфейсов такие символы приносит обычное копирование.
- Снятие не обещает «обход детекторов». Проект таких гарантий не даёт.
- Снятие выполняется для контента, которым вы владеете; ответственность за использование результата остаётся на вас.
- Текст не покидает вашу машину: демо считает в браузере; команды пакета и MCP-сервер работают локально. Телеметрии нет.
Вопросы и ответы
Как удалить невидимые символы из текста после ChatGPT?
Проверьте текст в браузерном демо humanizer-ru или в терминале: pip install humanizer-ru, затем humanizer-markers --scan файл.txt. Снимает safe-символы команда humanizer-markers --remove, полный сценарий с проверкой до и после — humanizer-clean файл.txt.
Нулевой пробел в тексте доказывает, что его написала нейросеть?
Нет. Нулевые пробелы заносятся и другим копированием: сайты, CMS, рассылки. Находка указывает на путь текста и требует проверки происхождения, вердикта об авторстве нет.
U+202F — это водяной знак ИИ? Можно ли его удалить?
U+202F — узкий неразрывный пробел, легитимный типографский символ, а не сертифицированный знак происхождения. В таблице humanizer-ru он относится к классу ambiguous: замена на обычный пробел возможна только в явном режиме --include-ambiguous, инструмент показывает изменения и предупреждает о риске.
Правда ли, что инструмент удаляет все невидимые символы?
Нет. Опасные структурные символы (разделители строк и абзацев, межстрочные аннотации) показываются в отчёте и не снимаются никогда; невидимый символ вне таблицы считается опасным. Массового режима «удалить всё невидимое» не существует по построению.
Гарантирует ли снятие невидимых символов обход детекторов ИИ?
Нет. Проект не обещает обход детекторов как гарантию и не измеряет его. Снятие символов — гигиена вставки для контента, которым вы владеете.
Источники
- Ревизия статьи Amu Television, английская Википедия (дата доступа 2026-08-06): https://en.wikipedia.org/w/index.php?title=Amu_Television&oldid=1241301672
- Ревизия статьи List of English-medium schools in Bangladesh (дата доступа 2026-08-06): https://en.wikipedia.org/w/index.php?title=List_of_English-medium_schools_in_Bangladesh&oldid=1274664396
- Снимок страницы Wikipedia:Signs of AI writing (дата доступа 2026-07-14): https://en.wikipedia.org/w/index.php?title=Wikipedia:Signs_of_AI_writing&oldid=1363998845
- Aiersilan, Yousefi, Pless. On Seeding Watermarks to Detect Verbatim LLM Copy-Paste Responses (дата доступа 2026-08-25): https://arxiv.org/abs/2605.16336v2
- Публичный разбор классов невидимых меток watermarks-remover, MIT (дата доступа 2026-08-26): снимок f10efaa7 в репозитории guillaumemeyer/watermarks-remover