Texto / Codificação

Contador de bytes (UTF-8, UTF-16 e SMS)

Conte os bytes de um texto em UTF-8 e UTF-16, seus pontos de código e caracteres visíveis, além das partes de SMS necessárias, e corte-o até um limite de bytes sem quebrar um caractere.

Contador de bytes (UTF-8, UTF-16 e SMS): Sistemas diferentes medem o comprimento de maneiras diferentes. O UTF-8, usado por páginas da web e pela maioria dos bancos de dados, usa 1 byte para ASCII, 2 para a maioria das letras acentuadas e das letras gregas ou cirílicas, 3 para caracteres chineses, japoneses e coreanos e 4 para emojis. O JavaScript conta unidades de código UTF-16, o Python conta pontos de código e as pessoas veem clusters de grafemas. Por isso, um emoji com tom de pele é um caractere para quem lê, mas corresponde a dois pontos de código e oito bytes UTF-8. As mensagens SMS comportam 160 caracteres do alfabeto GSM ou 70 se qualquer outro caractere aparecer. Roda 100% localmente no seu navegador, sem enviar nenhum arquivo para o servidor.

Execuções
No seu navegador
Custo
Grátis · sem cadastro
Disponibilidade
Pronto para usar
Contador de bytesProcessamento local

Roda inteiramente no seu navegador

Bytes UTF-824páginas da web, arquivos, a maioria dos bancos de dados
Bytes UTF-1626JavaScript, Java, Windows
Caracteres visíveis10clusters de grafemas
Pontos de código11o que len() do Python conta
Comprimento em JavaScript13Unidades de código UTF-16
Palavras e linhas3 · 1
Partes do SMS1UCS-2 · 13 de 70 por parte

Estes caracteres estão fora do alfabeto GSM, então a mensagem inteira é enviada como UCS-2, com 70 caracteres por parte: 👍 🏽 日 本 語

Contém caracteres de 4 bytes, como emojis: o MySQL precisa do conjunto de caracteres utf8mb4 para armazená-los; o conjunto utf8 (utf8mb3) mais antigo os rejeita.

Limites medidos em bytes

Muitos limites contam bytes, não caracteres: colunas e chaves de índice de bancos de dados, cabeçalhos e cookies HTTP (cerca de 4 KB por cookie), nomes de arquivos (255 bytes na maioria dos sistemas de arquivos) e APIs de pagamento ou mensagens. Um limite que comporta 255 letras do alfabeto latino pode conter apenas 85 caracteres chineses ou 63 emojis.

Para limites contados em caracteres, como os de publicações em redes sociais, use o contador de caracteres; para descobrir como um arquivo é codificado, use o detector de codificação de texto.

Mantendo mensagens SMS curtas

Substitua aspas e apóstrofos curvos por aspas e apóstrofos retos, travessões por hífens e evite emojis, para que a mensagem permaneça no alfabeto GSM e comporte 160 caracteres por parte, em vez de 70. Cada parte adicional normalmente é cobrada como uma mensagem separada.

Como usar

  1. Digite ou cole o texto.
  2. Veja as contagens de bytes, caracteres e partes de SMS.
  3. Insira um limite de bytes para saber se o texto cabe e obter uma versão cortada com segurança.

Privacidade e limitações

O texto é medido no seu navegador e nunca é enviado para um servidor.

Ferramentas relacionadas

Perguntas frequentes

Por que meu banco de dados diz que o texto é longo demais?

Os limites das colunas podem contar bytes em vez de caracteres: prefixos de índice do MySQL e muitos sistemas mais antigos usam bytes, então 255 caracteres chineses precisam de 765 bytes em UTF-8.

Por que um emoji faz meu SMS ser enviado como Unicode?

O SMS usa o alfabeto GSM de 7 bits quando todos os caracteres estão nele; um único caractere que não pertença a ele, como um emoji ou uma aspa curva, muda a mensagem inteira para UCS-2, que comporta 70 caracteres por parte em vez de 160.

Em que partes um SMS longo é dividido?

Em partes de 153 caracteres GSM ou 67 unidades UCS-2, pois cada parte carrega um cabeçalho para uni-las no telefone; alguns caracteres, como € e [ ], contam duas vezes no GSM.

Ferramenta grátis · no seu navegador execuções · não precisa de conta