Ghid pentru Utilitare text
Cum numără Utilitare text de la XGM cuvinte, caractere, linii și octeți, cum schimbă forma literelor și creează slug-uri, și de ce emoji schimbă cifrele.
Ce măsoară numărătorul
| Valoare | Cum |
|---|---|
| Caractere | Caractere așa cum le percepe utilizatorul (grupuri de grafeme), prin segmentarea de text a browserului |
| Caractere fără spații | Puncte de cod, fără spațiile albe |
| Cuvinte | Secvențe separate prin spații albe |
| Propoziții | Text încheiat cu ., !, ? ori …, plus o ultimă propoziție neterminată |
| Linii | Separate prin întreruperi de linie |
| Paragrafe | Blocuri separate prin linii goale |
| Octeți | Dimensiunea textului codificat ca UTF-8 |
| Timp de citire | Numărul de cuvinte împărțit la 230 de cuvinte pe minut |
Cum numărați un text
- Deschideți Utilitare text și lipiți sau scrieți textul dumneavoastră.
- Citiți valorile; ele se actualizează pe măsură ce scrieți.
- Comparați cifra care vă interesează cu limita pe care trebuie să o respectați, de exemplu lungimea unei descrieri meta sau limita unui câmp de formular.
- Modificați textul și urmăriți cum se schimbă cifrele.
Numărarea se face în browserul dumneavoastră, așa că ciornele, mesajele și documentele rămân pe dispozitiv. Textul nu este trimis în niciun moment către serverul XGM, ceea ce înseamnă că puteți lucra liniștit și pe articole nepublicate sau pe clauze de contract confidențiale. Când închideți pagina, tot ce ați scris dispare, fiindcă nu este salvat nicăieri.
Schimbarea formei literelor și crearea de slug-uri
Utilitare text mai are două moduri. Schimbă forma literelor afișează textul introdus în toate stilurile obișnuite deodată: camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, Title Case, sentence case, litere mici și litere mari. Cuvintele sunt separate la spații, la liniuțe de subliniere, la cratime și la trecerea de la literă mică la literă mare, iar șirurile de majuscule precum HTTPServer rămân împreună, ca un singur cuvânt. Modul acesta elimină greșelile de scriere care apar atunci când purtați același nume prin cod, prin coloane de bază de date și prin textele interfeței.
Slug transformă fiecare linie într-un segment de cale URL: diacriticele sunt transliterate (é devine e, ß devine ss), & devine and, iar tot ce nu este literă sau cifră devine separator. Puteți alege cratime ori liniuțe de subliniere și o lungime maximă, iar tăierea se face la un separator, nu în mijlocul unui cuvânt. Titlurile cu diacritice românești urmează aceeași regulă, astfel încât legătura rămâne lizibilă și ușor de partajat pe orice sistem.
How to Fix DMARC p=none in 30 Days
how-to-fix-dmarc-p-none-in-30-daysEmoji, diacritice și de ce diferă lungimile
Textul este stocat sub formă de numere, iar acele numere pot fi contorizate în mai multe feluri. O literă precum é poate fi un singur punct de cod sau două (un e urmat de un accent combinat), iar cele două variante arată identic. Emoji precum steagurile sau grupurile de familie combină mai multe puncte de cod într-un singur simbol vizibil. De aceea întrebarea „ce lungime are” nu are un singur răspuns corect; totul depinde de unitatea în care se numără.
| Text | Caractere vizibile | Lungime în JavaScript (UTF-16) | Octeți UTF-8 |
|---|---|---|---|
hello | 5 | 5 | 5 |
café | 4 | 4 | 5 |
👍 | 1 | 2 | 4 |
🇷🇴 (steag) | 1 | 4 | 8 |
Când un formular spune „maximum 280 de caractere”, sistemul din spate poate număra caractere vizibile, puncte de cod, unități UTF-16 sau octeți. Dacă un text cu emoji este respins deși numărătorul îl arată sub limită, serviciul numără probabil altceva. Numărul de octeți este util pentru coloanele din bazele de date și pentru API-urile care limitează dimensiunea încărcăturii. Când aveți un dubiu, scoateți emoji-ul și încercați din nou; dacă textul este acceptat brusc, unitatea de măsură era octetul sau unitatea de cod.
const text = "🇷🇴 café";
text.length; // UTF-16 code units
[...text].length; // code points
[...new Intl.Segmenter().segment(text)].length; // visible characters
new TextEncoder().encode(text).length; // UTF-8 bytesLimite de lungime obișnuite
| Unde | Recomandare sau limită tipică | Măsurat în |
|---|---|---|
| Titlul paginii (rezultatele căutării) | Circa 50-60 de caractere | Lățimea afișată; caracterele sunt doar un reper |
| Descriere meta | Circa 120-160 de caractere | Lățimea afișată; caracterele sunt doar un reper |
| SMS | 160 de caractere în alfabetul GSM pe 7 biți, 70 cu caractere Unicode | Unități care depind de codificare |
| Șir dintr-o înregistrare DNS TXT | 255 de octeți per șir | Octeți |
VARCHAR(n) în baza de date | Depinde de baza de date: la unele caractere, la altele octeți | Consultați documentația |
Pentru etichetele SEO, generatorul de etichete meta avertizează direct în privința lungimilor. La SMS, un singur emoji trece întregul mesaj pe codificare Unicode și taie limita per mesaj de la 160 la 70 de caractere, ceea ce îi surprinde pe mulți expeditori. Același lucru se poate întâmpla din cauza diacriticelor românești, care nu fac parte din alfabetul GSM de bază. Un text care depășește limita este trimis în mai multe bucăți, iar fiecare bucată se taxează separat.
Cum scrieți pentru o limită
Numărarea este cea mai utilă în timp ce editați, nu după. Lipiți ciorna, vedeți cu cât depășiți limita și tăiați fraze întregi, nu litere răzlețe: eliminarea cuvintelor de umplutură și a ideilor repetate scurtează textul mai repede și, în același timp, îl îmbunătățește. Urmăriți numărul de caractere cum se actualizează pe măsură ce lucrați. Este un obicei bun să rămâneți puțin sub țintă, fiindcă la titluri se mai adaugă ulterior un nume de marcă sau un separator.
- Începeți cu informația cea mai importantă; limitele taie de obicei de la final.
- Înlocuiți formulările lungi cu unele scurte: „în vederea” devine „pentru”, „în momentul de față” devine „acum”.
- Evitați emoji în SMS și în sistemele cu limite în octeți, dacă nu adaugă un înțeles real.
- Lăsați loc pentru traduceri: același mesaj este adesea mai lung în germană sau în română decât în engleză.
- Verificați și numărul de linii pentru câmpurile afișate pe un număr fix de linii, precum previzualizările de notificări.
Pentru cod și pentru date, cifra de urmărit este numărul de octeți. Încărcăturile JSON, antetele HTTP și înregistrările DNS au limite de dimensiune exprimate în octeți, iar un șir care pare scurt le poate depăși odată ce caracterele non-ASCII sunt codificate în UTF-8. În textele în română, literele cu diacritice ocupă câte doi octeți fiecare, așa că diferența crește repede.
Caractere invizibile
Textul copiat din documente, din pagini web sau din aplicații de chat poate conține caractere pe care nu le vedeți: spații neseparatoare, spații de lățime zero, cratime opționale ori marcaje de direcție. Ele se numără drept caractere și octeți, pot strica numărătoarea cuvintelor și pot provoca erori de validare în formulare și în cod. O diferență între cifrele numărătorului și ceea ce așteptați este adesea primul semn al prezenței lor. Textul lipit din fișiere PDF sau din celule de tabel le aduce cu el deosebit de des.
Dacă o cifră pare greșită, rescrieți porțiunea suspectă sau lipiți mai întâi textul într-un editor de text simplu. Dezvoltatorii pot găsi astfel de caractere cu o expresie regulată precum [\u00A0\u200B-\u200F\u2060\uFEFF] în Tester regex. Aceeași expresie, pusă într-o verificare dinaintea compilării, împiedică problema să ajungă în producție.
Timpul de citire și numărul de cuvinte
Timpul de citire folosește o medie de 230 de cuvinte pe minut pentru citirea în gând a unui text general. Conținutul tehnic, codul și textul într-o a doua limbă se citesc mai încet, așa că tratați estimarea ca pe o limită de jos pentru ghiduri precum cele de la https://xgm.ro/guides și ca pe o cifră rezonabilă pentru articole de blog. Dacă pagina conține blocuri de cod sau tabele, timpul real crește simțitor.
Cuvintele sunt separate la spații albe. Limbile care nu despart cuvintele prin spații, precum chineza sau japoneza, nu pot fi numărate cu sens în acest fel, iar cuvintele cu cratimă ori numerele scrise cu spații sunt numărate așa cum le separă instrumentul. Pentru cerințe contractuale sau editoriale, confirmați ce metodă de numărare folosește cealaltă parte, de exemplu cea dintr-un anumit procesor de text. O diferență de câteva procente între două instrumente, pentru același text, este ceva obișnuit.
Celelalte utilitare de text merg bine împreună cu numărătorul: modul pentru forma literelor schimbă felul în care sunt scrise majusculele, iar modul slug transformă un titlu într-o cale prietenoasă pentru URL, precum example.com/blog/my-first-post. Toate cele trei moduri stau în aceeași pagină, așa că lipiți textul o singură dată și treceți de la unul la altul.
Întrebări frecvente
Numărătorul include spațiile?
Le arată pe amândouă: caracterele cu spații cu tot și caracterele fără spații albe.
De ce un emoji contează ca un singur caracter?
Numărătorul numără caracterele așa cum le vede omul. Același emoji poate însemna 2 sau mai multe unități în JavaScript și 4 sau mai mulți octeți în UTF-8.
De ce textul meu este prea lung pentru un formular care permite același număr de caractere?
Serviciul poate număra octeți sau unități de cod UTF-16. Emoji și literele cu diacritice consumă mai mult decât par.
Cum se calculează timpul de citire?
Numărul de cuvinte împărțit la 230 de cuvinte pe minut, o medie obișnuită pentru citirea în gând.
Cum sunt detectate propozițiile?
După semnele de punctuație de final: punct, semnul exclamării, semnul întrebării și punctele de suspensie. Abrevierile cu punct pot fi socotite drept sfârșit de propoziție.
Textul meu este încărcat undeva?
Nu. Toată numărarea se face în browserul dumneavoastră.
Ce contează drept paragraf?
Text separat prin cel puțin o linie goală.
De ce contează numărul de octeți?
Bazele de date, API-urile și protocoalele limitează adesea dimensiunea în octeți. UTF-8 folosește un octet pentru ASCII și până la patru pentru celelalte caractere.
De ce două numărătoare de cuvinte dau cifre diferite?
Separă cuvintele altfel: doar la spații albe sau și la cratime, bare oblice și semne de punctuație. Numerele, adresele URL și abrevierile sunt sursele obișnuite de dezacord.
O întrerupere de linie contează ca un caracter?
O întrerupere de linie este un caracter din text, deci apare în numărul de caractere cu spații și în numărul de octeți. Este exclusă din numărătoarea fără spații albe.
Funcționează pentru limbile fără spații?
Numărul de caractere, de linii și de octeți funcționează pentru orice limbă. Numărarea cuvintelor se bazează pe spații, așa că nu are sens pentru limbi precum chineza sau japoneza.