O que são caracteres confundíveis?

Caracteres confundíveis são letras, dígitos e símbolos que parecem quase idênticos em muitas fontes, mas são na verdade caracteres diferentes. Por exemplo, um "l" minúsculo (ele), um "I" maiúsculo (i), o dígito "1" e o símbolo "|" podem ser quase indistinguíveis em fontes sem serifa como Arial ou Helvetica. Da mesma forma, a letra maiúscula "O" e o dígito "0" são frequentemente confundidos.

Essas ambiguidades visuais causam problemas reais. Na programação, usar um 0 (zero) em vez de um O em um nome de variável leva a bugs que são extremamente difíceis de detectar. Em contextos de segurança, atacantes exploram caracteres confundíveis para criar URLs, nomes de usuário ou senhas enganosas. Na escrita cotidiana, os leitores podem interpretar mal palavras ou códigos quando caracteres semelhantes são trocados.

Ao contrário dos homóglifos — que envolvem caracteres de scripts diferentes (como um "а" cirílico imitando um "a" latino) — caracteres confundíveis existem dentro do mesmo conjunto ASCII. Eles fazem parte do seu teclado cotidiano, tornando-os ainda mais fáceis de ignorar.

Descrição da ferramenta

Esta ferramenta verifica seu texto e destaca cada caractere que pertence a um grupo confundível usando sublinhados codificados por cores. Cada grupo de caracteres semelhantes recebe sua própria cor, facilitando a detecção de ambiguidades potenciais à primeira vista. Passe o mouse sobre qualquer caractere destacado para ver sua identidade exata, incluindo seu nome completo e ponto de código Unicode.

Você pode selecionar quais grupos confundíveis destacar usando o menu suspenso de seleção múltipla, permitindo que você se concentre nas ambiguidades específicas que importam para seu caso de uso.

Exemplos

Entrada:

Il1|egal passw0rd: S5Z2B8

O que é destacado:

  • I, l, 1, | — destacados em vermelho (grupo l / I / 1 / |)
  • 0 — destacado em azul (grupo O / 0)
  • S, 5 — destacados em roxo (grupo S / 5)
  • Z, 2 — destacados em laranja (grupo Z / 2)
  • B, 8 — destacados em azul-petróleo (grupo B / 8)

Exemplo de dica ao passar o mouse:

Passar o mouse sobre l mostra: Lowercase L (U+006C) Passar o mouse sobre I mostra: Uppercase I (U+0049)

Recursos

  • Destaque codificado por cores para 14 grupos de caracteres confundíveis
  • Dicas ao passar o mouse mostrando o nome exato do caractere e ponto de código Unicode
  • Grupos selecionáveis para focar em ambiguidades específicas
  • Destaque em tempo real conforme você digita
  • Painel de resumo mostrando grupos detectados e contagens de ocorrências

Grupos suportados

Grupo Caracteres Confusão comum
l / I / 1 / | L minúsculo, I maiúsculo, dígito 1, pipe Mais comum em fontes sem serifa
O / 0 O maiúsculo, dígito 0 Frequente em códigos e senhas
rn / m r, n, m "rn" se assemelha a "m" em muitas fontes
S / 5 S maiúsculo, dígito 5 Curvas semelhantes
Z / 2 Z maiúsculo, dígito 2 Similaridade de traço diagonal
B / 8 B maiúsculo, dígito 8 Similaridade de duplo-loop
G / 6 G maiúsculo, dígito 6 Sobreposição de forma curva
D / O / 0 D maiúsculo Se assemelha a O e 0 em fontes arredondadas
q / g q minúsculo, g minúsculo Confusão de descendente
cl / d c minúsculo, d minúsculo "cl" se assemelha a "d" em kerning apertado
vv / w v minúsculo, w minúsculo "vv" se assemelha a "w"
` / ' acento grave, apóstrofo Quase idênticos na maioria das fontes
; / : ponto e vírgula, dois-pontos Diferem apenas por um ponto vs vírgula
- / – / — hífen, travessão, travessão longo Comprimentos de travessão variados

Casos de uso

  • Revisão de código: Detecte o uso acidental de O em vez de 0 ou l em vez de 1 em nomes de variáveis, chaves de API ou valores de configuração
  • Auditoria de segurança: Detecte texto potencialmente enganoso em URLs, endereços de email ou conteúdo gerado pelo usuário onde caracteres confundíveis podem ser usados para phishing ou spoofing
  • Tipografia e revisão: Verifique se os caracteres corretos são usados em números de série, chaves de licença ou qualquer texto onde a precisão é importante

Dicas

  • Use uma fonte monoespacial no seu editor para reduzir a ambiguidade visual ao escrever código
  • Se você se importa apenas com uma confusão específica (por exemplo, l vs 1), desselecione todos os outros grupos para reduzir ruído
  • Passe o mouse sobre qualquer caractere destacado para confirmar sua identidade exata por meio da dica