Hva er dette verktøyet?
For ren ASCII-tekst (engelske bokstaver, tall, grunnleggende tegnsetting) er antall tegn og antall byte det samme tallet — hvert tegn tar nøyaktig én byte i UTF-8. Så snart teksten inneholder bokstaver med aksenter, kinesiske/japanske/koreanske tegn, kyrillisk, arabisk, emoji eller de fleste andre tegn utenfor ASCII, slutter dette å stemme: ett enkelt tegn kan ta 2, 3 eller 4 byte i UTF-8, og 2 eller 4 byte i UTF-16.
Dette betyr noe når et system har en grense i byte snarere enn i tegn — SMS-meldinger, kolonnestørrelser i databaser, grenser for API-nyttelast og enkelte sosiale plattformer måler alle i byte, ikke tegn, slik at den samme teksten stille kan overskride en grense avhengig av hvilket språk eller symboler den inneholder.
Hvorfor bruke det?
- Viser antall tegn, UTF-8-byte og UTF-16-byte side om side.
- Teller emoji og andre tegn utenfor Basic Multilingual Plane korrekt som ett tegn, ikke to.
- Oppdateres live mens du skriver — ingen knapp å klikke på.
- Kjører helt i nettleseren din — ingen opplasting.
- Gratis, ingen registrering, ingen grenser.
Slik bruker du det
- Skriv eller lim inn tekst i boksen.
- Les antall tegn, antall UTF-8-byte og antall UTF-16-byte nedenfor — de oppdateres mens du skriver.
Eksempel
Inndata
Hello, 世界! 🌍Resultat
12 tegn, 19 UTF-8-byte, 26 UTF-16-byteASCII-delen ("Hello, " og "! ") tar 1 byte per tegn i UTF-8. Hvert kinesiske tegn tar 3 byte, og emojien tar 4 byte — derfor er antall byte merkbart høyere enn antall tegn.
Vanlige bruksområder
- Sjekke om en flerspråklig produktbeskrivelse passer i en databasekolonne definert av bytelengde snarere enn antall tegn.
- Anslå SMS-segmentbruk, siden SMS faktureres og deles opp etter bytestørrelse, og ikke-latinsk tekst har en annen grense per segment.
- Bekrefte at en API-nyttelast eller et skjemafelt holder seg under en bytebasert størrelsesgrense før innsending.
- Forstå hvorfor en streng som "ser kort ut" blir avvist av et system med en bytebasert lengdekontroll.
Ofte stilte spørsmål
Hvorfor stemmer ikke antall tegn og antall byte overens?
Unicode-tekst lagres som byte, og hvor mange byte hvert tegn trenger avhenger av kodingen og selve tegnet. I UTF-8 tar ASCII-tegn 1 byte, de fleste latinske bokstaver med aksenter samt kyrillisk/gresk/hebraisk/arabisk tar 2 byte, de fleste CJK-tegn tar 3 byte, og emoji tar vanligvis 4 byte. Antall tegn teller ganske enkelt symboler, uavhengig av hvordan de lagres.
Hvilket antall byte bør jeg bruke for et bytebegrenset felt?
Bruk kodingen systemet faktisk bruker for å lagre eller overføre teksten — de fleste moderne web-API-er, databaser og filer bruker UTF-8, så antall UTF-8-byte er vanligvis det relevante. Noen eldre systemer (som intern strenghåndtering i Windows/Java) bruker UTF-16.
Teller dette verktøyet emoji riktig?
Ja. Mange emoji lagres internt som et par UTF-16-"surrogat"-kodeenheter, som naive tellemetoder teller som 2 tegn. Dette verktøyet teller Unicode-kodepunkter riktig, så en emoji telles som 1 tegn, som samsvarer med hvor mange tegn en person faktisk ser.
Er dette det samme som verktøyet Ordteller?
Nei — Ordteller fokuserer på antall ord og setninger for skriving. Dette verktøyet handler spesifikt om bytestørrelse kontra antall tegn, noe som er relevant for tekniske grenser snarere enn krav til ordantall.
Blir teksten min lastet opp noe sted?
Nei. Tellingen skjer lokalt i nettleseren din ved hjelp av JavaScripts innebygde tekstkoder; ingenting sendes til en server.