Nähtamatud märgid Viewer
Visualiseerige tühikuid, tabulaatoreid ja reavahetusi, renderdades nähtamatuid märke koodivaates.
Loe mind
Mis on nähtamatud märgid?
Nähtamatud märgid on Unicode'i koodipunktid, millel puudub nähtav glüüf, kuid mis ikkagi võtavad stringis ruumi ja mõjutavad seda, kuidas tarkvara teksti töötleb või renderdab. Nende hulka kuuluvad juhtmärgid (nagu tabulaator ja reavahetus), vormingumärgid (nagu nulllaiusega ühendajad ja suunamärgid), erinevad tühikute variandid ja spetsiaalsed markerid nagu baitide järjekorra märk (BOM). Kuna need näevad välja nagu miski, on neid tavalisel tekstiredaktoris väga raske märgata ja need on tavaline peidetud vigade, katki läinud paigutuste ja andmetöötluse vigade allikas.
Tööriista kirjeldus
Nähtamatute märkide vaataja on interaktiivne tekstiredaktor, mis renderdab iga nähtamatu märgi nähtava sümbolina paigal. Kleepige või tippige mis tahes tekst ja iga peidetud märk asendatakse kohe väikese sümboolse glüüfiga — tabulaatorid kuvatakse kui →, tühikud kui ·, nulllaiusega tühikud kui ·, suunamärgid kui → / ←, BOM kui ▯ jne. Kui viite hiirega glüüfi kohal, kuvatakse näpunäide märgi täisnimega ja Unicode'i koodipunktiga. Midagi ei lahku redaktorist; kogu renderdamine toimub kohalikult teie brauseris.
Näited
| Sisendtekst (toorik) | Mida näete vaatajast |
|---|---|
Hello\u200BWorld (nulllaiusega tühik sõnade vahel) |
Hello·World koos · glüüfiga, mis märgib U+200B |
\u202Eright-to-left override |
→right-to-left override suunamärgiga alguses |
line one\r\nline two |
Vaguniretuurn ja reavahetus glüüfid enne reavahetust |
\uFEFFstart of file |
▯start of file koos BOM-iga positsioonil 0 |
Funktsioonid
- Sisseehitatud renderdamine: Nähtamatud märgid kuvatakse glüüfidena otse redaktoris, mitte eraldi paneelil, nii et näete neid ümbritseva tekstiga kontekstis
- Lai märkide katvus: Käsitleb C0 ja C1 juhtmärke, kõiki nimetatud Unicode'i vormingumärke, Unicode'i tühikute variante (en-tühik, em-tühik, juukseotsatühik, kitsas mittepurustav tühik jne), suunamärgid, variatsioonivalijad, sildi märgid ja BOM
- Näpunäited: Hiire viimisega glüüfi kohal kuvatakse märgi täielik Unicode'i nimi ja koodipunkt (nt
Zero Width Space — U+200B) - Standardne tühikute esiletõstmine: Tavalised tühikud ja tabulaatorid esiletõstetakse CodeMirrori sisseehitatud tühikute markerite abil, mis hoiab neid visuaalselt eraldi tavalisest tekstist
- Lihtteksti režiim: Redaktor jääb lihtteksti režiimi, nii et spetsiaalseid märke ei tõlgendada ega muudeta kunagi sisestamise ajal
Kasutamise juhtumid
- Kopeerimis-kleepimise artefaktide silumine: Tekstist, mis on kopeeritud PDF-idest, veebilehtedelt või tekstiredaktoritest, on sageli nulllaiusega tühikud, pehmed sidekriipsud või mittepurustava tühikud, mis põhjustavad lahknevusi stringide võrdlemisel ja otsingutulemustes
- Andmefailide kontrollimine: Kleepige CSV, JSON või logide väljund, et leida ootamatud juhtmärgid (nullbaidid, vaguniretuurnid, BOM) enne andmete importimist andmebaasi või parserit
- Veeb- ja koodisilumismine: Kontrollige kasutaja poolt esitatud sisendeid või API vastuseid peidetud suunamärkide või vormingumärkide suhtes, mis võivad katkestada renderdamise või põhjustada turvaprobleeme
Kuidas see toimib
Tööriist kasutab CodeMirrori 6 koos kohandatud laiendusega, mis itereerib üle iga märgi redaktori nähtavas vaateaknas. Iga koodipunkti puhul kontrollib see teadaolevate nähtamatute märkide otsimistabelit, testib Unicode'i omaduste klassidega \p{Cc} (juhtimine) ja \p{Cf} (vorming) ning tuvastab variatsioonivalijad ja sildi märkide vahemikud. Sobitatud märgid asendatakse sisseehitatud dekoratsioonivigadega, mis näitavad vastavat sümboolset glüüfi. Tavalised tühikud ja tabulaatorid delegeeritakse CodeMirrori sisseehitatud highlightWhitespace laiendusele.