Удаление невидимых символов

Находите и удаляйте пробелы нулевой ширины, BOM, мягкие переносы, управляющие bidi-символы и неразрывные пробелы. Показывает таблицу удалённого. Приватно.

Параметры

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое Удаление невидимых символов?

Находит и удаляет символы, которых вы не видите, но которые ломают код, поиск, URL и импорт данных: пробелы и соединители нулевой ширины, метку порядка байтов (BOM), мягкие переносы, управляющие двунаправленные символы (включая RLO, используемый в приёмах «Trojan Source») и другие форматирующие символы Unicode. Особые пробелы вроде NBSP можно превращать в обычные, а таблица перечисляет каждый удалённый символ с кодовой точкой и числом.

Как пользоваться Удаление невидимых символов

  1. Вставьте подозрительный текст в поле Ввод.
  2. Проверьте опции: замена особых пробелов, сохранение соединителей внутри эмодзи, удаление управляющих символов.
  3. Скопируйте чистый текст из Вывод.
  4. Изучите таблицу, чтобы увидеть, какие скрытые символы найдены.

Пример

Ввод
a​b c
Вывод
ab c

Удалено: U+00A0 NO-BREAK SPACE (заменён пробелом), U+200B ZERO WIDTH SPACE, U+FEFF ZERO WIDTH NO-BREAK SPACE (BOM)

Когда использовать Удаление невидимых символов

Используйте, когда код падает с «unexpected character», когда две внешне одинаковые строки не совпадают, когда у заголовков CSV есть BOM или когда скопированный текст содержит скрытые отслеживающие символы. Удаление ZWJ/ZWNJ может изменить отображение письменностей вроде персидской, хинди или малаялам, которые используют их намеренно, поэтому для этих языков изучите таблицу перед использованием результата.

Как работает Удаление невидимых символов

Каждая кодовая точка проверяется по списку известных невидимых символов (U+200B–U+200F, U+202A–U+202E, U+2060–U+2064, U+2066–U+206F, U+FEFF, U+00AD, U+180E, заполнители хангыля и другие) и по категории Unicode Cf (форматирующие символы). Совпадения удаляются и подсчитываются. Особые пробелы (U+00A0, U+2000–U+200A, U+202F, U+205F, U+3000) заменяются на U+0020, если опция включена. При «Сохранять соединители внутри эмодзи» U+200D между двумя пиктограммами и теговые символы эмодзи сохраняются, чтобы последовательности вроде 👩‍💻 не рассыпались. Управляющие символы, кроме табуляции, перевода строки и возврата каретки, также можно удалять.

Распространенные Случаи Использования

  • Исправление кода или JSON, не работающих из-за вставленного пробела нулевой ширины
  • Удаление BOM из первого заголовка CSV
  • Обнаружение bidi-символов переопределения при ревью исходного кода
  • Очистка текста, скопированного с сайтов, из PDF или мессенджеров
  • Нормализация неразрывных пробелов перед сравнением строк

Примечание по Безопасности

Скрытые bidi-символы и символы нулевой ширины используются в гомографных атаках и атаках «Trojan Source», чтобы код или ссылки выглядели иначе, чем они есть. Таблица удалённого помогает их увидеть; обработка происходит только в вашем браузере.

Часто Задаваемые Вопросы

Что такое пробел нулевой ширины?

U+200B — символ без ширины, отмечающий возможный перенос строки. Он невидим, но делает строки неравными и может ломать код и URL.

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

Нет, при включённом Сохранять соединители внутри эмодзи (по умолчанию). Эмодзи вроде 👩‍💻 и последовательности флагов опираются на скрытые соединители и теговые символы, которые сохраняются.

Что такое bidi-управляющие символы?

Символы вроде U+202E RIGHT-TO-LEFT OVERRIDE меняют направление отображения текста. Они законны в некотором тексте справа налево, но могут использоваться и для маскировки кода или имён файлов.

Невидим ли неразрывный пробел?

Он выглядит как обычный пробел, но по-другому ведёт себя при поиске и сравнении. Инструмент заменяет его обычным пробелом, если включено Заменять неразрывные и особые пробелы обычными.

Другие категории