fixmint
RO

Caractere ascunse în text: unde se ascund și cum le elimini

De · · actualizat 8 noiembrie 2026 · 4 min de citit

Caracterele ascunse sunt puncte de cod Unicode invizibile, precum spațiile de lățime zero, spațiile fără rupere și marcajele de direcție. Arată ca un spațiu obișnuit sau ca nimic, așa că textul pare în regulă, dar căutarea, codul și validarea formularelor îl tratează ca pe un text diferit. Le găsești inspectând punctele de cod, iar le elimini ștergând sau înlocuind exact caracterele respective.

Elimină caractere ascunseCaractere invizibile în textul meuÎncearcă gratuit

De unde apar

Majoritatea caracterelor ascunse ajung în text prin copiere, nu prin scriere:

  • Pagini web. Site-urile folosesc spații fără rupere (U+00A0) ca să nu se despartă două cuvinte la capătul unui rând și spații de lățime zero (U+200B) ca să marcheze unde poate fi întrerupt un cuvânt lung. Când copiezi un paragraf, le copiezi și pe ele.
  • Procesoare de text. Cratimele moi (U+00AD) sunt inserate pentru silabisire. Sunt invizibile, decât dacă rândul se rupe chiar în locul lor. Unele editoare inserează automat și spații fără rupere în anumite locuri.
  • Aplicații de chat și e-mail. Mesajele copiate din chat sau dintr-un client de e-mail pot conține uniri de lățime zero și marcaje de direcție, mai ales când textul amestecă limbi.
  • Text cu direcții mixte. Textul în arabă, ebraică sau amestecat folosește marcaje de direcție, precum marcajul de la stânga la dreapta (U+200E), marcajul de la dreapta la stânga (U+200F) și caracterele de încorporare și suprascriere (U+202A până la U+202E). Ele controlează modul în care este afișat rândul, nu ce spune.
  • Marcaje de ordine a octeților. Un marcaj de ordine a octeților (BOM, U+FEFF) de la începutul unui fișier este o semnătură pe care unele editoare o scriu. Este invizibil, dar devine un prim caracter real când fișierul este citit ca text simplu.
  • Ferestre de chat cu AI. Textul copiat din unele interfețe de chat cu AI poate conține și aceste caractere. Cauza probabilă este modul în care a fost afișat și copiat textul, așa că nu le interpreta ca un semn de intenție.

De ce produc probleme

Fiecare caracter ascuns este un punct de cod real, deci schimbă textul chiar dacă pagina arată identic:

  • Căutarea eșuează. Un spațiu de lățime zero în interiorul unui cuvânt rupe potrivirea, așa că o căutare după cuvântul respectiv nu găsește nimic.
  • Codul se strică. Un spațiu fără rupere într-un fișier sursă este o eroare de sintaxă în multe limbaje, iar eroarea indică adesea un rând care arată perfect. Ghidul despre ghilimelele curbate tratează cealaltă problemă frecventă la lipire în cod.
  • Validarea formularelor respinge datele. O adresă de e-mail cu un spațiu de lățime zero după @ pare validă, dar nu trece verificarea.
  • Numărătoarea se abate. Numărul de caractere include sau exclude aceste caractere în funcție de instrument, așa că același text poate primi două totaluri diferite. Numără textul înainte și după curățare cu numărătorul de cuvinte ca să vezi diferența.

Iată un exemplu simplu. Cuvântul „factură” are șapte litere. Dacă în interior are un spațiu de lățime zero, același cuvânt are opt puncte de cod, dar arată exact la fel pe ecran. O căutare după „factură” nu va găsi a doua variantă.

Cum le vezi

Privitul textului nu ajută, așa că folosește una dintre aceste metode:

  1. Lipește textul într-un instrument care listează punctele de cod, precum elimină caractere ascunse, care arată ce a găsit înainte să modifice ceva.
  2. Într-un editor de cod, activează setarea care afișează spațiile sau caracterele speciale. Spațiile fără rupere apar atunci ca un semn diferit de spațiile obișnuite.
  3. Într-un limbaj de programare, afișează punctele de cod ale unui șir suspect. În Python, de exemplu, [hex(ord(c)) for c in text] le listează pe fiecare, așa că un spațiu fără rupere apare ca 0xa0, iar un spațiu de lățime zero ca 0x200b.

Cum le elimini

Eliminarea trebuie să fie precisă. Ștergerea fiecărui caracter non-ASCII ar distruge și diacriticele, ghilimelele și literele din alte limbi. În schimb:

  • Înlocuiește spațiile fără rupere cu spații normale, pentru că aproape întotdeauna sunt menite să fie spații.
  • Șterge spațiile de lățime zero, cratimele moi, marcajele de ordine a octeților și marcajele de direcție rătăcite.
  • Păstrează literele cu diacritice, ghilimelele curbate și semnele de punctuație reale.

Repară textul lipit este făcut pentru text venit de altundeva, deci folosește-l când copia are și rânduri rupte greșit sau spațiere ciudată.

Cum o faci cu fixmint

  1. Lipește textul în câmpul Textul tău.
  2. Citește lista cu ce s-a găsit. Fiecare caracter este numit, de exemplu ZWSP pentru un spațiu de lățime zero, și marcat cu ce se va întâmpla cu el.
  3. Lasă bifată opțiunea Păstrează uniri în interiorul emoji-urilor, ca secvențele de emoji să rămână afișate ca un singur simbol.
  4. Bifează Convertește și ghilimelele curbate, liniuțele en/em și … în ASCII simplu doar pentru cod sau date, apoi folosește Copiază sau Descarcă .txt.

Cazuri speciale

  • Secvențele de emoji folosesc uniri de lățime zero intenționat. Eliminarea lor desparte un emoji în mai multe simboluri.
  • Un spațiu fără rupere este corect în unele tipografii, de exemplu între un număr și unitatea sa de măsură, și în unele semne de punctuație franțuzești. Înlocuiește-l doar acolo unde știi că e rătăcit.
  • După ce curățarea s-a încheiat, compară textul cu originalul ca să vezi exact ce s-a schimbat.

Răspunsuri rapide

Caracterele ascunse sunt un semn că textul a fost scris de un AI?

Nu. Vin din pagini web, procesoare de text, aplicații de chat și din copiere-lipire în general. Prezența lor nu arată cine sau ce a scris textul.

Eliminarea fiecărui caracter non-ASCII rezolvă problema?

Nu. Ar elimina și diacriticele, ghilimelele și literele din alte limbi. Elimină în schimb punctele de cod invizibile specifice.

Cum îmi dau seama dacă un șir are caractere ascunse?

Compară lungimea lui cu numărul de caractere pe care le vezi sau lipește-l într-un instrument care listează punctele de cod. Dacă numerele diferă, înseamnă că ceva invizibil se află în interior.

Tradus din Original în engleză cu ajutorul AI.

Comentarii

    Încă nu sunt comentarii. Fii primul.

    Evaluarea ta (opțional)

    E-mailul tău nu este afișat și nu este păstrat niciodată.

    Copertă pentru How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 de pagini despre avantajele umane, economice și strategice care rămân rare atunci când AI poate face cea mai mare parte din munca cognitivă.

    $3.84Cumpără de pe GumroadÎn engleză