Ferramentas de texto e dados

Contador de caracteres

Compare os caracteres que vê com as unidades de codificação e verifique texto chinês, emojis e tamanho UTF-8.

Texto de entrada

Estatísticas em tempo real

Compare pontos de código, grafemas visíveis, comprimento UTF-16 e bytes UTF-8 para compreender o tamanho dos emojis.

O conteúdo é processado apenas no seu navegador e não é enviado para servidores.

Sobre esta ferramenta

O contador centra-se na codificação. Apresenta separadamente pontos de código Unicode, grafemas visíveis, unidades de código UTF-16 e bytes UTF-8, evitando confundir string.length do JavaScript com uma contagem universal de caracteres.

Como utilizar

  1. Introduza texto, emojis ou caracteres com acentos combinados.
  2. Consulte pontos de código, caracteres sem espaços em branco e bytes UTF-8.
  3. Compare grafemas visíveis e unidades UTF-16. A página indica se o navegador não suporta a segmentação de grafemas.
  4. Copie o original ou carregue o exemplo para comparar as representações.

Exemplos de utilização

  • 😀: 1 ponto de código Unicode, 2 unidades de código UTF-16 e 4 bytes UTF-8.
  • 👨‍👩‍👧‍👦: 7 pontos de código Unicode e 1 grafema visível quando a segmentação grapheme está disponível.
  • O e com acento combinado e o é pré-composto costumam ter o mesmo aspeto, mas o primeiro tem 2 pontos de código e o segundo tem 1.

Regras de contagem

Os caracteres e pontos de código são contados percorrendo o texto como com Array.from. As unidades UTF-16 correspondem ao comprimento da cadeia original e os bytes UTF-8 são calculados com TextEncoder. Os grafemas usam preferencialmente o modo grapheme de Intl.Segmenter. Não é aplicada normalização Unicode, preservando as diferentes codificações de caracteres combinados. As quebras originais contam para a codificação e uma quebra final produz uma última linha vazia. Limite por entrada: 2 000 000 de unidades de código UTF-16.

Utilizações comuns

  • Verificar o tamanho UTF-8 de campos, ficheiros ou dados de uma API.
  • Investigar diferenças de comprimento provocadas por emojis.
  • Compreender a relação entre formas visíveis, pontos de código e unidades de codificação.

Privacidade

O texto, a leitura de ficheiros, as conversões e as pré-visualizações são processados localmente no navegador. A entrada não é enviada e não são usados servidores de processamento, bases de dados, API online ou CDN de terceiros. O conteúdo não é guardado automaticamente. A cópia e as transferências também são locais.

FAQ

Quantos caracteres tem um emoji?

Um emoji simples pode ter um ponto de código; famílias, bandeiras e combinações de tons de pele podem ter vários. Os grafemas aproximam-se mais do número de caracteres que uma pessoa vê.

Porque pode UTF-16 exceder o número de caracteres?

Os pontos de código fora do plano multilingue básico usam um par de substitutos UTF-16. Assim, um ponto de código pode ocupar duas unidades.

Os bytes UTF-8 correspondem ao tamanho do ficheiro?

Representam os bytes do texto atual em UTF-8, sem cabeçalhos adicionais, BOM ou metadados do sistema de ficheiros.

Os espaços são contados?

A contagem normal inclui espaços em branco. A contagem sem espaços em branco exclui espaços, tabulações, quebras de linha e outros espaços Unicode.

O que acontece sem Intl.Segmenter?

Os pontos de código, UTF-16 e UTF-8 continuam disponíveis. A área de grafemas indica que não é possível fornecer uma contagem fiável.

Voltar ao catálogo de ferramentas para programadores