TextArray
100% helyi

UTF-8 bájtszámláló

Mérd meg a szöveg valódi méretét UTF-8 bájtokban, UTF-16 egységekben, kódpontokban és grafémákban.

Bemenet
Kimenet

UTF-8 bájtszámláló

A karakterszám és a bájtban mért méret nem ugyanaz. UTF-8 kódolásban az ékezet nélküli latin betűk egy-egy bájtot foglalnak, de az „é" vagy az „ő" kettőt, a legtöbb ázsiai írásjel hármat, egy emoji, mint a 👋, négyet — egy 160 karakteres üzenet így könnyen jóval több lehet 160 bájtnál. Illessz be bármilyen szöveget, és a számláló megmutatja a pontos UTF-8 bájtméretet, az UTF-16 egységek számát (amit a JavaScript .length ad vissza), a Unicode-kódpontok számát, a grafémák számát (a karaktereket úgy, ahogy az olvasó látja — a 👨‍👩‍👧 család egynek számít) és a sorok számát, továbbá a tárolt méretet B, KB vagy MB egységben mindkét kódolásra.

Ez a bontás gyorsan megválaszolja a gyakorlati kérdéseket: belefér a szöveg egy bájtban mért VARCHAR oszlopba, egy SMS-szegmensbe, egy 64 KB-os limitbe, a localStorage keretébe? Miért utasít el az adatbázis egy „160 karakteres" szöveget, és miért számít az emoji az egyik rendszerben két karakternek, a másikban egynek? Az eszköz a „hossz" összes versengő definícióját egymás mellé teszi, így pontosan látod, melyiket használja a te limited.

A sorvégek is beleszólnak a bájtméretbe: a windowsos CRLF sorvégekkel mentett fájl soronként egy bájttal nagyobb, mint ugyanaz a fájl unixos LF végekkel. A sorvégek beállítással a szöveget beillesztés szerint mérheted, vagy úgy, ahogy LF-re vagy CRLF-re alakítva nézne ki.

Minden számítás helyben, a böngésződben fut a szabványos TextEncoder API-val — a beillesztett szöveg sehová nem töltődik fel, így konfigurációs fájlokat, tokeneket és magánüzeneteket is nyugodtan mérhetsz.

Gyakori kérdések

Miért nagyobb a bájtok száma, mint a karaktereké?
Az UTF-8 változó szélességű kódolás: az ASCII betűk 1 bájtot foglalnak, az ékezetes betűk 2-t, a legtöbb ázsiai írásjel 3-at, az emojik 4-et. Az ékezetes szöveg ezért bájtban mindig nagyobb, mint karakterben.
Mi a különbség a kódpontok és a grafémák között?
A kódpont egyetlen Unicode-érték; a graféma az, amit az olvasó egy karakternek lát. A több kódpontból ZWJ-vel összefűzött emojik vagy a kombináló ékezetes betűk több kódpontot jelentenek, de egy grafémát.
Melyik számot használja egy adatbázisoszlop limitje?
Az adatbázistól és az oszlopdefiníciótól függ — a MySQL utf8mb4 VARCHAR karaktereket számol, sok bájtalapú limit (Redis-kulcsok, indexméretek, egyes API-k) viszont UTF-8 bájtokat. Az eszköz mindkettőt mutatja, így a megfelelőt ellenőrizheted.
Hogyan változtatják a sorvégek a méretet?
A windowsos CRLF sorvég két bájtot foglal törésenként, a unixos LF egyet. Váltsd át a sorvégek beállítást, és látod a szöveg méretét mindkét konvencióval mentve.
Feltöltődik valahová a szövegem?
Nem. A számolás teljes egészében a böngésződben fut a beépített TextEncoder API-val, és a szöveg soha nem hagyja el az eszközödet.