Подсветка похожих символов
Выделяйте визуально похожие символы, такие как l/I/1, O/0, rn/m и другие, для улучшения читаемости текста и обнаружения неоднозначностей
Ввод
Вывод
Документация
Что такое похожие символы?
Похожие символы — это буквы, цифры и знаки, которые выглядят почти идентично во многих шрифтах, но на самом деле являются разными символами. Например, строчная буква "l" (эль), прописная буква "I" (ай), цифра "1" и символ трубы "|" могут быть почти неразличимы в рубленых шрифтах, таких как Arial или Helvetica. Аналогично, прописная буква "O" и цифра "0" часто путаются.
Эти визуальные неоднозначности вызывают реальные проблемы. В программировании использование 0 (нуля) вместо O в имени переменной приводит к ошибкам, которые крайне сложно обнаружить. В контексте безопасности злоумышленники используют похожие символы для создания обманчивых URL-адресов, имён пользователей или паролей. В повседневном письме читатели могут неправильно интерпретировать слова или коды, когда похожие символы меняются местами.
В отличие от омоглифов — которые включают символы из разных систем письма (например, кириллица "а", имитирующая латинскую "a") — похожие символы существуют в одном наборе ASCII. Они являются частью вашей повседневной клавиатуры, что делает их ещё более легко упускаемыми из виду.
Описание инструмента
Этот инструмент сканирует ваш текст и выделяет каждый символ, принадлежащий группе похожих символов, используя цветные подчёркивания. Каждая группа похожих символов получает свой цвет, что облегчает выявление потенциальных неоднозначностей с первого взгляда. Наведите курсор на любой выделенный символ, чтобы увидеть его точное обозначение, включая полное имя и код Unicode.
Вы можете выбрать, какие группы похожих символов выделять, используя раскрывающееся меню множественного выбора, что позволяет сосредоточиться на конкретных неоднозначностях, важных для вашего случая.
Примеры
Входные данные:
Il1|egal passw0rd: S5Z2B8Что выделяется:
I,l,1,|— выделены красным (группа l / I / 1 / |)0— выделено синим (группа O / 0)S,5— выделены фиолетовым (группа S / 5)Z,2— выделены оранжевым (группа Z / 2)B,8— выделены бирюзовым (группа B / 8)
Пример подсказки при наведении:
Наведение на l показывает: Lowercase L (U+006C)
Наведение на I показывает: Uppercase I (U+0049)
Возможности
- Цветное выделение для 14 групп похожих символов
- Подсказки при наведении, показывающие точное имя символа и код Unicode
- Выбираемые группы для сосредоточения на конкретных неоднозначностях
- Выделение в реальном времени по мере ввода
- Панель сводки, показывающая обнаруженные группы и количество вхождений
Поддерживаемые группы
| Группа | Символы | Частая путаница |
|---|---|---|
| l / I / 1 / | | строчная L, прописная I, цифра 1, труба | Наиболее распространена в рубленых шрифтах |
| O / 0 | прописная O, цифра 0 | Часто встречается в кодах и паролях |
| rn / m | r, n, m | "rn" похожа на "m" во многих шрифтах |
| S / 5 | прописная S, цифра 5 | Похожие кривые |
| Z / 2 | прописная Z, цифра 2 | Сходство диагональных штрихов |
| B / 8 | прописная B, цифра 8 | Сходство двойной петли |
| G / 6 | прописная G, цифра 6 | Перекрытие изогнутых форм |
| D / O / 0 | прописная D | Похожа на O и 0 в округлых шрифтах |
| q / g | строчная q, строчная g | Путаница в выносных элементах |
| cl / d | строчная c, строчная d | "cl" похожа на "d" при плотном кернингом |
| vv / w | строчная v, строчная w | "vv" похожа на "w" |
| ` / ' | обратный апостроф, апостроф | Почти идентичны в большинстве шрифтов |
| ; / : | точка с запятой, двоеточие | Отличаются только точкой и запятой |
| - / – / — | дефис, короткое тире, длинное тире | Различная длина тире |
Варианты использования
- Проверка кода: Обнаружьте случайное использование
Oвместо0илиlвместо1в именах переменных, ключах API или значениях конфигурации - Аудит безопасности: Выявите потенциально обманчивый текст в URL-адресах, адресах электронной почты или пользовательском контенте, где похожие символы могут использоваться для фишинга или подделки
- Типография и корректура: Убедитесь, что в серийных номерах, лицензионных ключах или любом тексте, где важна точность, используются правильные символы
Советы
- Используйте моноширинный шрифт в вашем редакторе, чтобы уменьшить визуальную неоднозначность при написании кода
- Если вас интересует только конкретная путаница (например, l против 1), отмените выбор всех остальных групп, чтобы уменьшить шум
- Наведите курсор на любой выделенный символ, чтобы подтвердить его точное обозначение через подсказку