Hoppa till innehåll
TextArray
100% lokalt

UTF-8 byte-räknare

Mät den verkliga storleken på text i UTF-8-byte, UTF-16-enheter, kodpunkter och grafem.

Inmatning
Utmatning

UTF-8 byte-räknare

Antal tecken och bytestorlek är inte samma sak. I UTF-8 tar vanliga engelska bokstäver en byte vardera, men "é" tar två, de flesta CJK-tecken tar tre och en emoji som 👋 tar fyra — så ett meddelande på 160 tecken kan lätt vara mycket mer än 160 byte. Klistra in vilken text som helst och den här räknaren rapporterar dess exakta UTF-8-bytestorlek, UTF-16-kodenheterna JavaScripts .length skulle rapportera, antalet Unicode-kodpunkter, grafemantal (användarupplevda tecken, så en 👨‍👩‍👧-familj räknas som en) och antalet lagrade raden i MB, KB och co.

Den uppdelningen svarar snabbt på praktiska frågor: kommer den här strängen att passa en VARCHAR(255)-kolumn mätt i byte, ett SMS-segment, en nyttolastgräns på 64 KB, en HTTP-headerbudget, en localStorage-kvot? Varför klagar en databas på en "160-teckens"-sträng, och varför räknas en emoji som två tecken i ett system och en i ett annat? Räknaren visar alla konkurrerande definitioner av "längd" sida vid sida så att du kan se exakt vilken din limit använder.

Radändelser har också betydelse för bytestorleken: en fil som sparas med Windows CRLF-ändelser är en byte per rad större än samma fil med Unix LF-ändelser. Alternativet för radändelser låter dig mäta texten som klistrad, eller som den en gång skulle konverteras till LF eller CRLF.

Allt beräknas lokalt i din webbläsare med det vanliga TextEncoder API - texten du klistrar in laddas aldrig upp, så konfigurationsfiler, tokens och privata meddelanden är säkra att mäta.

FAQ

Varför är antalet byte högre än antalet tecken?
UTF-8 är en kodning med variabel bredd: ASCII-bokstäver tar 1 byte, latinska bokstäver med accent 2, de flesta CJK-tecken 3 och emoji 4. All icke-ASCII-text är därför större i byte än i tecken.
Vad är skillnaden mellan kodpunkter och grafem?
En kodpunkt är ett enda Unicode-värde; ett grafem är vad en läsare ser som en karaktär. Emoji byggd av flera kodpunkter sammanfogade av ZWJ, eller bokstäver med kombinerande accenter, är flera kodpunkter men ett grafem.
Vilket nummer använder en databaskolumnbegränsning?
Det beror på databasen och kolumndefinitionen — MySQL utf8mb4 VARCHAR begränsar antalet tecken medan många bytebaserade gränser (Redis-nycklar, indexstorlekar, vissa API:er) räknar UTF-8-byte. Det här verktyget visar båda så att du kan kontrollera mot den rätta.
Hur ändrar linjeänden storleken?
Windows CRLF-ändelser är två byte per radbrytning, Unix LF-ändelser en. Byt radändelsealternativ för att se storleken på texten eftersom den skulle sparas med endera konventionen.
Är min text uppladdad någonstans?
Nej. Räkning körs helt i din webbläsare med det inbyggda TextEncoder API och din text lämnar aldrig din enhet.