Ga naar inhoud
TextArray
100% lokaal

UTF-8 byteteller

Meet de werkelijke grootte van tekst in UTF-8 bytes, UTF-16 eenheden, codepunten en grafemen.

Invoer
Uitvoer

UTF-8 byteteller

Aantal tekens en bytegrootte zijn niet hetzelfde. In UTF-8 nemen gewone Engelse letters elk één byte in beslag, maar "é" heeft er twee nodig, de meeste CJK-tekens drie en een emoji zoals 👋 vier — dus een bericht van 160 tekens kan gemakkelijk veel meer dan 160 bytes duren. Plak een willekeurige tekst en deze teller rapporteert de exacte UTF-8-bytegrootte, de UTF-16-code-eenheden die JavaScript's .length zou rapporteren, het aantal Unicode-codepunten, het aantal grafemen (door de gebruiker waargenomen tekens, dus een 👨‍👩‍👧-familie telt als één) en het aantal regels, plus de opgeslagen grootte in B, KB of MB voor beide coderingen.

Deze uitsplitsing beantwoordt snel praktische vragen: past deze string in een VARCHAR(255)-kolom gemeten in bytes, een SMS-segment, een payloadlimiet van 64 KB, een HTTP-headerbudget, een localStorage-quotum? Waarom klaagt een database over een tekenreeks van "160 tekens", en waarom telt een emoji als twee tekens in het ene systeem en één in het andere? De teller toont alle concurrerende definities van "lengte" naast elkaar, zodat u precies kunt zien welke uw limiet gebruikt.

Regeleinden zijn ook van belang voor de bytegrootte: een bestand dat is opgeslagen met Windows CRLF-uitgangen is één byte per regel groter dan hetzelfde bestand met Unix LF-uitgangen. Met de optie voor regeleinden kunt u de tekst meten zoals deze is geplakt, of zoals deze zou zijn geconverteerd naar LF of CRLF.

Alles wordt lokaal in uw browser berekend met behulp van de standaard TextEncoder API. De tekst die u plakt wordt nooit geüpload, dus configuratiebestanden, tokens en privéberichten zijn veilig te meten.

FAQ

Waarom is het aantal bytes hoger dan het aantal tekens?
UTF-8 is een codering met variabele breedte: ASCII-letters nemen 1 byte in beslag, Latijnse letters met accenten 2, de meeste CJK-tekens 3 en emoji 4. Elke niet-ASCII-tekst is daarom groter in bytes dan in tekens.
Wat is het verschil tussen codepunten en grafemen?
Een codepunt is een enkele Unicode-waarde; een grafeem is wat een lezer als één personage ziet. Emoji opgebouwd uit verschillende codepunten verbonden door ZWJ, of letters met gecombineerde accenten, zijn meerdere codepunten maar één grafeem.
Welk getal gebruikt een databasekolomlimiet?
Het hangt af van de database- en kolomdefinitie: MySQL utf8mb4 VARCHAR beperkt het aantal tekens, terwijl veel op bytes gebaseerde limieten (Redis-sleutels, indexgroottes, sommige API's) UTF-8-bytes tellen. Deze tool toont beide, zodat u de juiste kunt vergelijken.
Hoe veranderen regeluiteinden de grootte?
Windows CRLF-eindes zijn twee bytes per regeleinde, Unix LF-eindes één. Schakel de optie voor regeleinden om de grootte van de tekst te zien zoals deze bij beide conventies zou worden opgeslagen.
Wordt mijn tekst ergens geüpload?
Nee. Het tellen gebeurt volledig in uw browser met de ingebouwde TextEncoder API en uw tekst verlaat nooit uw apparaat.