Preskoči na vsebino
TextArray
100% lokalno

Števec bajtov UTF-8

Izmerite dejansko velikost besedila v bajtih UTF-8, enotah UTF-16, kodnih točkah in grafemih.

Vhod

Števec bajtov UTF-8

Število znakov in velikost bajtov nista ista stvar. V UTF-8 navadne angleške črke zasedajo en bajt, vendar "é" potrebuje dva, večina znakov CJK potrebuje tri in emoji, kot je 👋, potrebuje štiri - tako da je lahko sporočilo s 160 znaki enostavno veliko več kot 160 bajtov. Prilepite poljubno besedilo in ta števec sporoči njegovo natančno velikost bajtov UTF-8, kodne enote UTF-16, ki bi jih poročal JavaScript .length, število kodnih točk Unicode, število grafemov (znaki, ki jih zazna uporabnik, tako da družina 👨‍👩‍👧 šteje kot ena) in število vrstic ter shranjena velikost v B, KB ali MB za oboje kodiranja.

Ta razčlenitev hitro odgovarja na praktična vprašanja: ali bo ta niz ustrezal stolpcu VARCHAR(255), merjenemu v bajtih, segmentu SMS, omejitvi obremenitve 64 KB, proračunu glave HTTP, kvoti localStorage? Zakaj se baza podatkov pritožuje nad nizom s "160 znaki" in zakaj emoji šteje kot dva znaka v enem sistemu in en v drugem? Števec prikazuje vse konkurenčne definicije "dolžine" eno poleg druge, tako da lahko natančno vidite, katero uporablja vaša omejitev.

Tudi končnice vrstic so pomembne za velikost bajtov: datoteka, shranjena s končnicami Windows CRLF, je en bajt na vrstico večja od iste datoteke s končnicami Unix LF. Možnost končnic vrstic vam omogoča merjenje besedila kot je prilepljeno ali kot bi bilo nekoč pretvorjeno v LF ali CRLF.

Vse se izračuna lokalno v vašem brskalniku s standardnim API-jem TextEncoder — besedilo, ki ga prilepite, ni nikoli naloženo, zato je konfiguracijske datoteke, žetone in zasebna sporočila varno meriti.

FAQ

Zakaj je število bajtov večje od števila znakov?
UTF-8 je kodiranje s spremenljivo širino: črke ASCII imajo 1 bajt, naglašene latinične črke 2, večina znakov CJK 3 in emoji 4. Vsako besedilo, ki ni ASCII, je torej večje v bajtih kot v znakih.
Kakšna je razlika med kodnimi točkami in grafemi?
Kodna točka je ena vrednost Unicode; grafem je tisto, kar bralec vidi kot en znak. Emoji, sestavljeni iz več kodnih točk, združenih z ZWJ, ali črk s kombinacijo poudarkov, so več kodnih točk, vendar en grafem.
Katero številko uporablja omejitev stolpca zbirke podatkov?
Odvisno je od baze podatkov in definicije stolpca — omejitve MySQL utf8mb4 VARCHAR štejejo znake, medtem ko številne omejitve na osnovi bajtov (ključi Redis, velikosti indeksov, nekateri API-ji) štejejo bajte UTF-8. To orodje prikazuje oba, tako da lahko primerjate s pravim.
Kako končnice vrstic spremenijo velikost?
Končnice CRLF v sistemu Windows so dva bajta na prelom vrstice, končnice LF v sistemu Unix pa en. Preklopite možnost koncev vrstic, da si ogledate velikost besedila, kot bi bilo shranjeno s katero koli konvencijo.
Je moje besedilo kje naloženo?
Ne. Štetje poteka v celoti v vašem brskalniku z vgrajenim API-jem TextEncoder in vaše besedilo nikoli ne zapusti vaše naprave.