Визуализатор на невидими символи
Визуализирайте интервали, табулации и разрывы на редове чрез показване на невидими символи в изглед на кода.
Прочети ме
Какво представляват невидимите знаци?
Невидимите знаци са Unicode кодови точки, които нямат видим глиф, но все още заемат място в низ и влияят на това как софтуерът обработва или визуализира текста. Те включват контролни знаци (като табулация и преход на ред), знаци за форматиране (като съединители с нулева ширина и маркери за посока), различни варианти на интервали и специални маркери като маркер за ред на байтовете (BOM). Тъй като изглеждат като нищо, те са известни със своята трудност при откриване в обикновен текстов редактор и са често срещан източник на фини грешки, счупени оформления и грешки при обработка на данни.
Описание на инструмента
Средството за преглед на невидими знаци е интерактивен текстов редактор, който визуализира всеки невидим знак като видим символ, точно на място. Поставете или въведете всеки текст и всеки скрит знак се замества незабавно с малък символичен глиф — табулациите се появяват като →, интервалите като ·, интервалите с нулева ширина като ·, маркерите за посока като → / ←, BOM като ▯ и т.н. Преминаването на курсора над всеки глиф показва подсказка с пълното име на знака и неговата Unicode кодова точка. Нищо не напуска редактора; всяка визуализация се извършва локално в браузъра ви.
Примери
| Входен текст (суров) | Какво виждате в средството за преглед |
|---|---|
Hello\u200BWorld (интервал с нулева ширина между думи) |
Hello·World с глифа · маркиращ U+200B |
\u202Eright-to-left override |
→right-to-left override с глифа за посока в началото |
line one\r\nline two |
Глифи за връщане на каретка и преход на ред преди новия ред |
\uFEFFstart of file |
▯start of file показващ BOM на позиция 0 |
Функции
- Вътрешна визуализация: Невидимите знаци се показват като глифи директно в редактора, а не в отделна панел, така че ги виждате в контекст със заобикаляващия текст
- Широко покритие на знаци: Обработва C0 и C1 контролни знаци, всички наименувани Unicode знаци за форматиране, Unicode варианти на интервали (интервал en, интервал em, интервал за коса, тесен интервал без прекъсване и т.н.), знаци за форматиране на посока, селектори на вариации, знаци за етикети и BOM
- Подсказки: Преминаването на курсора над всеки глиф показва пълното Unicode име на знака и кодовата точка (например
Zero Width Space — U+200B) - Маркиране на стандартни интервали: Обикновените интервали и табулациите се маркират с помощта на вградените маркери за интервали на CodeMirror, което ги поддържа визуално различни от обикновения текст
- Режим на обикновен текст: Редакторът остава в режим на обикновен текст, така че специалните знаци никога не се преинтерпретират или не се модифицират докато пишете
Случаи на употреба
- Отстраняване на артефакти от копиране-поставяне: Текстът, копиран от PDF файлове, уеб страници или текстови процесори, често носи интервали с нулева ширина, мекия дефис или интервали без прекъсване, които причиняват несъответствия при сравнение на низове и резултати от търсене
- Проверка на файлове с данни: Поставете CSV, JSON или изход на дневник, за да намерите неочаквани контролни знаци (нулеви байтове, връщане на каретка, BOM) преди импортиране на данни в база данни или парсер
- Отстраняване на грешки в уеб и код: Проверете потребителския вход или отговори на API за скрити маркери за посока или знаци за форматиране, които могат да счупят визуализацията или да причинят проблеми със сигурността
Как работи
Инструментът използва CodeMirror 6 с персонализирано разширение, което преминава над всеки знак в видимия прозорец на редактора. За всяка кодова точка той проверява таблица за търсене на известни невидими знаци, тества срещу Unicode класове свойства \p{Cc} (контрол) и \p{Cf} (формат) и открива селектори на вариации и диапазони на знаци за етикети. Съответстващите знаци се заменят с вътрешни декоративни джаджи, показващи съответния символичен глиф. Обикновените интервали и табулациите се делегират на вградено разширение highlightWhitespace на CodeMirror.