Ir para o conteúdo principal

Normalize caracteres confundíveis em texto seguro

Normalizar confundíveis significa substituir cada imitação pelo caractere comum que ela imita, para que duas strings visualmente iguais também sejam iguais na comparação. Faça isso antes de comparar nomes de usuário, aplicar listas de bloqueio ou remover identificadores duplicados.

Exemplo resolvido

Entrada
Cоnfig file: аdmin2, Noёl, café
Sistemas de escrita encontrados
latim (Latn), cirílico (Cyrl)
Caracteres sinalizados
7
PosiçãoCaracterePonto de códigoSistema de escritaSubstituiçãoRegra
0CU+FF23latimCNormalização NFKC
1оU+043EcirílicooMapa de confundíveis
7fiU+FB01latimfiNormalização NFKC
10:U+FF1Acomum:Mapa de confundíveis
12аU+0430cirílicoaMapa de confundíveis
172U+FF12comum2Mapa de confundíveis
22ёU+0451cirílicoëMapa de confundíveis
Preservar Unicode legível
Config file: admin2, Noël, café
Fallback ASCII estrito
Config file: admin2, Noel, café

Como funciona

  • Imitações conhecidas são substituídas primeiro pelo mapa embutido. Caracteres fora do mapa são normalizados com NFKC, que converte formas de largura total, ligaduras e outros caracteres de compatibilidade em seus equivalentes padrão.
  • Preservar Unicode legível mantém uma letra acentuada quando o mapa define uma, como o ё cirílico → ë. Fallback ASCII estrito usa a letra ASCII simples (ё → e).
  • Letras que não estão no mapa e não mudam com a NFKC são mantidas, então café conserva o acento nos dois modos. Texto normalizado é uma chave de comparação, não um veredito de segurança: guarde também o original e revise os caracteres sinalizados.

A conversão é o melhor esforço: confusão mapeada e dobramento NFKC são determinísticas, mas alguns Unicode legítimos não serão sinalizados.

Seu texto

Colar ou digitar – os resultados são atualizados conforme você digita (levemente rebatidos para entradas longas).

30 caracteres analisados
7 suspeitos
Fallback ASCII estrito
Modo de conversão

O modo ASCII estrito substitui agressivamente sósias conhecidas por ASCII. Ele pode alterar o texto não latino legítimo quando um caractere está no mapa agrupado ou dobrado em NFKC.

Original (caracteres suspeitos marcados)

Caracteres suspeitos na visualização original são sublinhados e rotulados como “susp.” além de realçar a cor.

suspicious character Csuspicious character оnfig suspicious character filesuspicious character : suspicious character аdminsuspicious character 2, Nosuspicious character ёl, café
Saída limpa
Análise de caracteres
Índice (baseado em 0)OriginalSubstituiçãoPonto de códigoRazão
0CCU+FF23NFKC normalization changed this character (compatibility or width folding).
1оoU+043ENon-ASCII confusable mapped to a safer Latin ASCII equivalent.
2nnU+006ENot flagged as a confusable or compatibility character.
3ffU+0066Not flagged as a confusable or compatibility character.
4iiU+0069Not flagged as a confusable or compatibility character.
5ggU+0067Not flagged as a confusable or compatibility character.
6 U+0020Not flagged as a confusable or compatibility character.
7fifiU+FB01NFKC normalization changed this character (compatibility or width folding).
8llU+006CNot flagged as a confusable or compatibility character.
9eeU+0065Not flagged as a confusable or compatibility character.
10::U+FF1ANon-ASCII confusable mapped to a safer Latin ASCII equivalent.
11 U+0020Not flagged as a confusable or compatibility character.
12аaU+0430Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
13ddU+0064Not flagged as a confusable or compatibility character.
14mmU+006DNot flagged as a confusable or compatibility character.
15iiU+0069Not flagged as a confusable or compatibility character.
16nnU+006ENot flagged as a confusable or compatibility character.
1722U+FF12Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
18,,U+002CNot flagged as a confusable or compatibility character.
19 U+0020Not flagged as a confusable or compatibility character.
20NNU+004ENot flagged as a confusable or compatibility character.
21ooU+006FNot flagged as a confusable or compatibility character.
22ёeU+0451Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
23llU+006CNot flagged as a confusable or compatibility character.
24,,U+002CNot flagged as a confusable or compatibility character.
25 U+0020Not flagged as a confusable or compatibility character.
26ccU+0063Not flagged as a confusable or compatibility character.
27aaU+0061Not flagged as a confusable or compatibility character.
28ffU+0066Not flagged as a confusable or compatibility character.
29ééU+00E9Not flagged as a confusable or compatibility character.

Mais guias