Normalizador Unicode
Normalize texto Unicode usando os formulários NFC, NFD, NFKC e NFKD.
Entrada
Saída
Leia-me
O que é normalização Unicode?
Unicode define múltiplas formas de representar o mesmo caractere visível. Por exemplo, o caractere "é" pode ser armazenado como um único ponto de código pré-composto (U+00E9) ou como a letra "e" seguida por um acento agudo combinado (U+0065 U+0301). Ambos são renderizados de forma idêntica, mas são diferentes byte a byte, o que causa problemas para comparação de strings, busca e processamento de texto.
Normalização Unicode é o processo de converter texto para uma representação canônica, de modo que strings equivalentes se tornem idênticas. O Padrão Unicode define quatro formas de normalização:
- NFC (Decomposição Canônica, seguida por Composição Canônica): Forma pré-composta; mais compacta, amplamente usada na web e na maioria dos sistemas operacionais.
- NFD (Decomposição Canônica): Forma totalmente decomposta; cada caractere é dividido em letra base mais marcas combinadas.
- NFKC (Decomposição de Compatibilidade, seguida por Composição Canônica): Como NFC, mas também reduz caracteres de compatibilidade (por exemplo, ligaduras, sobrescritos, variantes de largura completa) para seus equivalentes canônicos.
- NFKD (Decomposição de Compatibilidade): Como NFD, mas também aplica decomposição de compatibilidade.
Descrição da ferramenta
Esta ferramenta normaliza texto Unicode de uma forma de normalização para outra. Selecione as formas de origem e destino, cole seu texto, e a saída convertida aparece instantaneamente.
Recursos
- Todas as quatro formas de normalização: Suporta NFC, NFD, NFKC e NFKD como origem e destino.
- Conversão bidirecional: Alterne entre qualquer combinação de formas livremente.
- Saída em tempo real: O texto é normalizado instantaneamente conforme você digita ou cola.
- Funciona com qualquer script Unicode: Funciona com Latin, CJK, árabe, cirílico e qualquer outro texto codificado em Unicode.
Como funciona
A ferramenta aplica o método padrão JavaScript String.prototype.normalize() com a forma de destino selecionada. Esta é uma implementação totalmente compatível com a especificação de normalização Unicode conforme definido no Unicode Standard Annex #15.
Casos de uso
- Correções de comparação de strings: Normalize o texto antes de compará-lo ou indexá-lo para garantir que strings visualmente idênticas correspondam corretamente.
- Consistência de busca e banco de dados: Padronize a entrada do usuário para uma única forma (tipicamente NFC) antes de armazená-la em um banco de dados para evitar entradas duplicadas que diferem apenas na codificação.
- Redução de compatibilidade: Use NFKC para colapsar ligaduras, sobrescritos e caracteres de largura completa em seus equivalentes padrão para indexação de busca ou processamento de linguagem natural.