Utilia

Eliminare caractere invizibile

Găsește și elimină caractere invizibile: spații de lățime zero, spații fixe, cratime opționale și controale bidirecționale (Trojan Source) din orice text.

Caractere de eliminat

Cum elimini caracterele invizibile

  1. Lipește textul în câmpul de intrare. Este scanat imediat ce îl lipești.
  2. Citește rezultatul: un tabel enumeră fiecare caracter ascuns găsit, cu punctul de cod, prescurtarea, numele Unicode, tipul și numărul de apariții. Date de intrare evidențiate arată unde se află fiecare, ca o mică insignă colorată, precum ZWSP sau NBSP.
  3. La Caractere de eliminat, lasă bifate tipurile pe care vrei să le ștergi. Selectează tot / nimic le comută pe toate odată.
  4. Lasă bifat Înlocuiește spațiile fixe și speciale cu un spațiu obișnuit, ca „10 000” să-și păstreze spațiul în loc să devină „10000”.
  5. Copiază textul curățat din câmpul de rezultat. Butonul Elimină caracterele invizibile reîmprospătează rezultatul.

Ce detectează instrumentul

Tip Caractere De unde provin
Caractere de lățime zero ZWSP U+200B, ZWNJ U+200C, ZWJ U+200D, WJ U+2060, BOM U+FEFF Pagini web, procesoare de text, text copiat din PDF-uri sau aplicații de chat, fișiere salvate cu marcaj de ordine a octeților
Spații fixe și speciale NBSP U+00A0, NBSP îngust U+202F, spații subțiri, cadratin, semicadratin, cifră și ideografice, separatoare de linie și de paragraf HTML  , tipografia franceză, Word, Option+Spațiu pe macOS
Cratime opționale SHY U+00AD Indicii de despărțire în silabe din procesoare de text și site-uri
Controale bidirecționale LRM, RLM, ALM, LRE–RLO (U+202A–U+202E), LRI–PDI (U+2066–U+2069) Text mixt arab, ebraic și latin, dar și cod rău intenționat
Caractere de control NUL, ESC, salt de pagină, DEL, controale C1 Ieșiri de terminal, fișiere vechi, codări defecte
Alte caractere de format Caractere-etichetă, operatori matematici invizibili, completări Hangul, spațiu gol braille, orice alt caracter Unicode „Cf” Filigrane ascunse, nume de utilizator „goale”, surse obscure
Selectoare de variante VS1–VS256 Stiluri de emoji, variante CJK și un truc de steganografie care ascunde date după un emoji

Tabulatoarele, liniile noi și întoarcerile de car sunt caractere obișnuite și nu sunt atinse niciodată. Selectoarele de variante nu sunt bifate implicit, pentru că de obicei sunt legitime.

De ce creează probleme caracterele invizibile

Nu se văd, dar calculatoarele le văd. Un spațiu de lățime zero în interiorul unui cuvânt strică căutarea și verificarea ortografică, un marcaj de ordine a octeților la începutul unui fișier CSV strică numele primei coloane, un spațiu fix face ca două valori să difere într-o căutare dintr-o foaie de calcul sau într-un câmp de parolă, iar o cratimă opțională poate rupe o adresă web. Un cod care conține un U+FEFF sau U+00A0 rătăcit poate refuza să compileze, cu o eroare derutantă.

Caracterele invizibile pot fi și intenționate: unele sunt folosite pentru a marca textul copiat, astfel încât o scurgere de informații să poată fi urmărită până la sursă.

Trojan Source și controalele bidirecționale

Controalele bidirecționale spun motorului de afișare să aranjeze o parte dintr-o linie de la dreapta la stânga. În codul sursă, ele pot face codul să arate altfel decât ce execută de fapt compilatorul, un atac publicat în 2021 sub numele „Trojan Source” (CVE-2021-42574). Când instrumentul găsește un astfel de caracter, afișează un avertisment. Textul arab sau ebraic legitim poate folosi semnele LRM și RLM, dar controalele de încorporare, de suprascriere și de izolare dintr-un cod sau dintr-un fișier de configurare sunt un semnal de alarmă.

Păstrează ce ai nevoie

  • Păstrează legăturile și selectoarele din emoji protejează legăturile de lățime zero și selectoarele de variante care construiesc emoji-uri precum 👨‍👩‍👧 sau ❤️. Debifează opțiunea ca să le elimini și pe acestea; emoji-ul de familie devine atunci trei persoane separate.
  • Persana, hindi și alte limbi cu scrieri speciale folosesc ZWNJ și ZWJ pentru a controla legarea literelor. Pentru astfel de texte, debifează Caractere de lățime zero (ZWSP, ZWNJ, ZWJ, WJ, BOM).
  • Tipografia franceză folosește spații fixe înguste înainte de « ; : ! ? » și în interiorul ghilimelelor. Debifează tipul de spații ca să le păstrezi.
  • În română, spațiul fix este folosit uneori între număr și unitate de măsură („5 kg”) sau în numerele mari („1 250 000”). Dacă vrei să le păstrezi, debifează tipul de spații.

Întrebări frecvente

Cum aflu dacă textul meu conține spații de lățime zero?

Lipește-l aici. Dacă tabelul rămâne gol, iar starea afișează „Nu a fost găsit niciun caracter invizibil.”, nu există niciunul.

Va lipi eliminarea spațiilor fixe cuvintele între ele?

Nu, cu setarea implicită: spațiile fixe și speciale sunt înlocuite cu un spațiu obișnuit. Debifează opțiunea de înlocuire doar dacă vrei să fie șterse.

Elimină instrumentul spațiile obișnuite, tabulatoarele sau liniile noi?

Nu. Sunt afectate doar tipurile de caractere enumerate mai sus.

Este sigur să lipesc text confidențial?

Da. Scanarea și curățarea rulează în browserul tău; nimic nu este încărcat sau stocat.

De ce fișierul meu curățat arată în continuare un caracter ciudat la început?

Dacă fișierul a fost salvat într-o codare alta decât UTF-8, problema poate fi codarea, nu un caracter invizibil. Salvează din nou fișierul ca UTF-8 și scanează-l încă o dată.