CodeKitHub
Instrumente text

Numărător de octeți — Număr de caractere vs dimensiune în octeți

Ultima actualizare:

Scrie sau lipește text și vezi, în timp real, câte caractere conține față de câți octeți ocupă efectiv în UTF-8 și UTF-16 — cele două numere diverg imediat ce apar caractere non-ASCII (accente, text CJK, emoji).

0
Characters
0
UTF-8 bytes
0
UTF-16 bytes

Ce este acest instrument?

Pentru text ASCII simplu (litere englezești, cifre, punctuație de bază), numărul de caractere și numărul de octeți sunt aceleași — fiecare caracter ocupă exact un octet în UTF-8. Odată ce textul include litere accentuate, caractere chinezești/japoneze/coreene, chirilice, arabe, emoji sau majoritatea celorlalte caractere non-ASCII, acest lucru nu mai este valabil: un singur caracter poate ocupa 2, 3 sau 4 octeți în UTF-8, și 2 sau 4 octeți în UTF-16.

Acest lucru contează ori de câte ori un sistem are o limită de octeți, nu de caractere — mesajele SMS, dimensiunile coloanelor din baze de date, limitele de payload API și unele platforme sociale măsoară totul în octeți, nu în caractere, astfel încât aceeași bucată de text poate depăși în tăcere o limită, în funcție de limba sau simbolurile pe care le conține.

De ce să-l folosești?

  • Afișează numărul de caractere, octeții UTF-8 și octeții UTF-16 unul lângă altul.
  • Numără corect emoji și alte caractere din afara Planului Multilingv de Bază ca un singur caracter, nu doi.
  • Se actualizează în timp real pe măsură ce scrii — nu trebuie apăsat niciun buton.
  • Rulează complet în browser — fără încărcare pe server.
  • Gratuit, fără înregistrare, fără limite.

Cum se folosește

  1. Scrie sau lipește text în casetă.
  2. Citește numărul de caractere, numărul de octeți UTF-8 și numărul de octeți UTF-16 de dedesubt — se actualizează pe măsură ce scrii.

Exemplu

Intrare

Hello, 世界! 🌍

Rezultat

12 caractere, 19 octeți UTF-8, 26 octeți UTF-16

Partea ASCII ("Hello, " și "! ") ocupă 1 octet per caracter în UTF-8. Fiecare caracter chinezesc ocupă 3 octeți, iar emoji ocupă 4 octeți — de aceea numărul de octeți este vizibil mai mare decât numărul de caractere.

Utilizări comune

  • Verificarea dacă o descriere de produs multilingvă se încadrează într-o coloană de bază de date definită prin lungime în octeți, nu prin numărul de caractere.
  • Estimarea utilizării segmentelor SMS, deoarece SMS-urile sunt facturate și împărțite după dimensiunea în octeți, iar textul non-latin are o limită diferită per segment.
  • Verificarea faptului că un payload API sau un câmp de formular rămâne sub o limită de dimensiune bazată pe octeți înainte de trimitere.
  • Înțelegerea motivului pentru care un șir care "pare scurt" este respins de un sistem cu o verificare a lungimii bazată pe octeți.

Întrebări frecvente

De ce nu se potrivesc numărul de caractere și numărul de octeți?

Textul Unicode este stocat sub formă de octeți, iar câți octeți necesită fiecare caracter depinde de codificare și de caracterul în sine. În UTF-8, caracterele ASCII ocupă 1 octet, majoritatea literelor latine accentuate și chirilice/grecești/ebraice/arabe ocupă 2 octeți, majoritatea caracterelor CJK ocupă 3 octeți, iar emoji ocupă de obicei 4 octeți. Numărul de caractere pur și simplu numără simbolurile, ignorând modul în care sunt stocate.

Ce număr de octeți ar trebui să folosesc pentru un câmp cu limită de octeți?

Folosește codificarea pe care sistemul o utilizează efectiv pentru a stoca sau transmite textul — majoritatea API-urilor web, bazelor de date și fișierelor moderne folosesc UTF-8, deci numărul de octeți UTF-8 este de obicei cel relevant. Unele sisteme mai vechi (precum gestionarea internă a șirurilor în Windows/Java) folosesc UTF-16.

Numără acest instrument corect emoji?

Da. Multe emoji sunt stocate intern ca o pereche de unități de cod "surogat" UTF-16, pe care metodele naive de numărare le consideră 2 caractere. Acest instrument numără corect punctele de cod Unicode, astfel încât un emoji este numărat ca 1 caracter, corespunzând cu ce vede efectiv o persoană.

Este acesta același lucru cu instrumentul Numărător de cuvinte?

Nu — Numărătorul de cuvinte se concentrează pe numărul de cuvinte și propoziții pentru scris. Acest instrument se referă strict la dimensiunea în octeți versus numărul de caractere, ceea ce contează pentru limite tehnice, nu pentru cerințe legate de numărul de cuvinte.

Este textul meu încărcat undeva?

Nu. Numărarea are loc local, în browser, folosind codorul de text integrat în JavaScript; nimic nu este trimis către un server.

Instrumente similare