Salt la conținut

Utilitare text

Numărați cuvinte și caractere, schimbați forma literelor și transformați titlurile în slug-uri URL.

Rulează în browser. Nimic nu este încărcat.

Caracterele sunt numărate așa cum le văd utilizatorii (un emoji cu nuanță de piele contează 1). Rulează în browserul dumneavoastră.
sau trageți unul aici. Fișierul este citit în browserul dumneavoastră și nu este încărcat niciodată.

Despre acest instrument

Utilitare text are trei moduri. Număr raportează caracterele așa cum le vede un cititor - grupuri de grafeme, luate din segmentatorul de text al browserului, așa că un emoji cu un modificator de nuanță a pielii contează ca unul singur - alături de caractere fără spații, cuvinte, propoziții, linii, paragrafe, octeți UTF-8 și un timp de citire bazat pe 230 de cuvinte pe minut. Schimbă forma literelor produce nouă variante deodată (camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, Sentence case, lowercase, UPPERCASE), împărțind textul la granițele dintre majuscule și minuscule, așa că HTTPServer devine http_server. Slug transformă o listă scurtă de litere latine (ß în ss, æ în ae, ø în o, ı în i, ğ în g, ç în c, ö în o, ü în u și & în cuvântul „and”), înlătură diacriticele rămase prin normalizarea Unicode NFKD și unește ce supraviețuiește cu o cratimă sau cu o liniuță de subliniere. Nu transliterează scrierile non-latine: caracterele chirilice, grecești, ebraice, arabe, chinezești și japoneze nu sunt romanizate, ci sunt eliminate ca orice alt caracter din afara A-Z, a-z și 0-9.

Toate cele trei moduri sunt funcții pure care rulează în pagină: contorul folosește Intl.Segmenter propriu al browserului pentru grupurile de grafeme, revenind la numărarea punctelor de cod acolo unde acest API lipsește, și TextEncoder pentru cifra de octeți UTF-8, în timp ce modurile pentru forma literelor și pentru slug folosesc normalizarea Unicode a browserului. Textul dumneavoastră nu este trimis către API-ul XGM, nu este scris în URL și nu este stocat în acest browser - adresa păstrează doar modul, ca ?mode=case sau ?mode=slug, contorul fiind modul implicit care nu poartă niciun parametru, așa că un link distribuit deschide instrumentul gol. Cifrele pentru ușurința lecturii și pentru nivelul de școlaritate sunt formulele Flesch și Flesch-Kincaid calculate în pagină pornind de la o estimare a silabelor: ambele au fost calibrate pe proză în engleză, deci sunt o estimare pentru text în engleză și înseamnă puțin pentru turcă sau română. Copierea, descărcarea și exportul JSON sunt asamblate din rezultatul deja afișat pe ecran. Singura cerere pe care pagina o face de la sine este evenimentul de vizualizare a paginii trimis după ce acceptați analiza, care înregistrează calea paginii și numele instrumentului, niciodată textul dumneavoastră.

Cum se folosește

  1. Deschideți instrumentul Utilitare text.
  2. Lipiți sau tastați datele pe care vreți să le inspectați.
  3. Citiți rezultatul, calculat în browser; datele nu sunt trimise către XGM.
  4. Copiați rezultatul doar după ce ați verificat că arată corect.
  5. Folosiți instrumentele XGM înrudite dacă aveți nevoie de o imagine de diagnostic mai largă.

Întrebări frecvente

De ce numărul de caractere diferă de cel din editorul meu?

Majoritatea editoarelor numără unități de cod UTF-16, ceea ce face ca un emoji să conteze cât două și un steag cât patru. Aici cifra Caractere numără grupuri de grafeme prin Intl.Segmenter din browser, așa că 👍🏽 este un singur caracter, deși are două puncte de cod și opt octeți UTF-8. Folosiți cifra de octeți UTF-8 atunci când o coloană de bază de date sau o limită de API este măsurată în octeți; rețineți că Fără spații se numără pe punct de cod, așa că cele două cifre de caractere pot diferi la emoji.

Cuvintele chinezești sau japoneze sunt numărate corect?

Nu. Cuvintele sunt secvențele fără spații albe din textul curățat la capete, așa că un sistem de scriere care nu pune spații între cuvinte - chineza, japoneza, thailandeza - raportează un cuvânt pe secvență și un timp de citire pe măsură. Caracterele, caracterele fără spații, liniile și octeții UTF-8 rămân exacte. Propozițiile sunt numărate prin împărțire la . ! ? și …, așa că o abreviere precum „e.g.” umflă numărul.

De ce camelCase a pierdut diacriticele pe care Title Case le-a păstrat?

Stilurile de identificatori - camelCase, PascalCase, snake_case, kebab-case și CONSTANT_CASE - normalizează textul la NFKD, elimină semnele combinatorii și apoi îl împart la tot ce nu este literă sau cifră ASCII, ceea ce le face sigure ca identificatori de cod: „Café Ünïcödé” devine cafeUnicode. Title Case, Sentence case, lowercase și UPPERCASE se aplică textului dumneavoastră original și schimbă doar forma literelor, așa că diacriticele, punctuația și caracterele non-latine rămân.

De ce slug-ul meu este mai scurt decât titlul pe care l-am lipit?

Lungimea maximă este 80 în mod implicit; setați-o la 0 pentru a dezactiva limita. Când un slug este mai lung, este tăiat la limită și apoi scurtat până la ultimul separator, ca să nu se termine la mijlocul unui cuvânt - dacă nu există niciun separator în acea fereastră, rămâne tăietura brutală. Fiecare linie din text produce propriul slug, așa că puteți lipi o listă de titluri și primiți înapoi o listă.

Ce caractere supraviețuiesc într-un slug și de ce al meu a ieșit gol?

Doar A-Z, a-z și 0-9. Orice altceva devine separator, separatorii repetați se contopesc într-unul singur, iar cei de la început și de la sfârșit sunt eliminați, după ce & a fost înlocuit cu „and”, iar NFKD a descompus literele cu diacritice și formele de compatibilitate (é în e, fi în fi). Pentru că scrierile non-latine sunt eliminate, nu transliterate, un titlu scris în întregime în chirilică, greacă sau chineză produce un slug gol - scrieți acel slug de mână sau transliterați-l înainte de a-l lipi.

Citiți ghidul complet Utilitare text (în engleză)