TT Text Tools

Inspetor de caracteres Unicode — pontos de código, nomes e bytes

Analise texto caractere a caractere: pontos de código Unicode, nomes, categorias, scripts, bytes UTF-8 e UTF-16, com avisos de caracteres invisíveis e parecidos.

🔒 Executa completamente no seu navegador — nada é enviado

0
Characters (graphemes)
0
Code points
0
UTF-16 units
0
UTF-8 bytes
0
Warnings
CharCode pointNameCategoryScriptUTF-8UTF-16Note
Advertisement

Veja do que o seu texto é realmente feito

Um texto com aparência normal pode esconder surpresas: um espaço de largura zero que quebra uma senha ou uma pesquisa, um espaço não separável que impede a importação de um CSV, uma letra cirílica num nome de domínio ou uma ligadura que não é de forma alguma as duas letras que parece ser. O inspetor de caracteres Unicode decompõe qualquer texto nos seus pontos de código individuais e mostra, para cada um, o caractere, o ponto de código U+, o nome Unicode oficial, a categoria geral (letra, marca, pontuação, símbolo, separador, controle, formato…), o script e os bytes exatos usados para armazená-lo em UTF-8 e UTF-16.

O resumo conta os caracteres como os usuários os veem (clusters de grafemas), os pontos de código, as unidades de código UTF-16 — o tamanho que JavaScript, Java e C# informam — e os bytes UTF-8, que costumam ser o limite de bancos de dados e protocolos de rede. Ver os quatro valores lado a lado explica por que um emoji pode contar como um, dois ou quatro, dependendo de quem conta.

Identifique caracteres invisíveis e parecidos

As linhas são destacadas quando algo merece atenção. Caracteres de formatação invisíveis, como espaços de largura zero, caracteres de junção, marcas de ordem de bytes e controles bidirecionais, são sinalizados, assim como caracteres de controle, caracteres de uso privado, espaços incomuns e seletores de variação. Os caracteres de compatibilidade — letras de largura total, ligaduras, sobrescritos e alfanuméricos matemáticos — são sinalizados junto com o caractere simples que normalmente representam.

Letras confundíveis do cirílico, do grego e do armênio que imitam letras latinas são sinalizadas quando aparecem em texto latino, e qualquer palavra que misture scripts é indicada acima da tabela. Esse é o padrão clássico dos ataques homógrafos, em que «pаypal.com» usa um «а» cirílico para se passar por um site verdadeiro. Texto escrito inteiramente em cirílico ou grego não é sinalizado. O botão «Remove invisible characters» (remover caracteres invisíveis) apaga os caracteres de formatação e de controle, mantendo quebras de linha, tabulações e caracteres de junção de emoji.

Análise privada

O inspetor e o seu banco de dados de nomes funcionam inteiramente no seu navegador. Senhas, tokens e mensagens que você colar nunca são enviados.

Como usar

  1. Cole o textoAdicione qualquer texto: um link suspeito, um nome de usuário, emojis ou um texto que se comporta de forma estranha.
  2. Leia a tabelaCada ponto de código mostra o valor U+, o nome oficial, a categoria, o script e as codificações UTF-8 e UTF-16.
  3. Verifique os avisosAs linhas sinalizadas apontam caracteres invisíveis, espaços incomuns, letras parecidas com outras e formas de compatibilidade.
  4. Limpe se necessárioRemova os caracteres invisíveis com um clique («Remove invisible characters») ou mostre apenas as linhas sinalizadas («Show only flagged characters»).

Perguntas frequentes

O que é um ponto de código?
Um ponto de código é o número que o Unicode atribui a um caractere, escrito como U+ seguido de dígitos hexadecimais, por exemplo U+0041 para A ou U+1F600 para 😀. Alguns caracteres que você vê, como emojis com tom de pele, são formados por vários pontos de código.
O que são caracteres confundíveis?
São caracteres de scripts diferentes que parecem idênticos ou quase idênticos, como o «a» latino e o «а» cirílico. Atacantes os usam em domínios e nomes de usuário falsos (ataques homógrafos). O inspetor os sinaliza e avisa quando uma mesma palavra mistura scripts.
Por que o tamanho em bytes UTF-8 é diferente do número de caracteres?
O UTF-8 usa 1 byte para ASCII, 2 bytes para a maioria das letras latinas, gregas e cirílicas, 3 bytes para a maioria dos outros caracteres e 4 bytes para emojis e símbolos raros. Bancos de dados e APIs costumam limitar bytes, não caracteres.
De onde vêm os nomes dos caracteres?
Do Unicode Character Database (Unicode 18), carregado no seu navegador. Sequências de emoji e caracteres de controle recebem seus nomes oficiais ou aliases.
Advertisement