ForHosting KIT · Ferramentas para dev

Normalizador Unicode NFKC

file ㎞ ① vira file km 1: ligaduras, letras de largura total, dígitos em círculo e outras variantes de estilo viram texto simples e depois os acentos são recompostos, e as cópias de um mesmo nome passam a coincidir na busca. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Texto
file ㎞ ①
Você obtém
Resultado
file km 1
Forma
NFKC
Comprimento da entrada
7
Comprimento da saída
9

Este normalizador Unicode NFKC recebe qualquer string Unicode e devolve o resultado em Normalization Form KC: decomposição de compatibilidade seguida de composição canônica conforme o Anexo 15 do padrão Unicode. Esse caminho dobra formas de apresentação que parecem diferentes no armazenamento, mas devem coincidir em busca, indexação e checagens de identidade: ligaduras fi viram f e i simples, letras latinas fullwidth viram ASCII A–Z, dígitos circulados viram números comuns, letras góticas e matemáticas estilizadas colapsam em direção à base, e sequências como e mais acento agudo combinante compõem um único caractere pré-composto quando existe. Desenvolvedores usam NFKC ao montar chaves de deduplicação, pipelines de slugs de URL e busca de catálogo para que variantes de compatibilidade visualmente equivalentes não apareçam como registros separados. Use o caminho gratuito do navegador para inspecionar as dobras antes de integrar o algoritmo idêntico na automação.

O que o NFKC faz e como difere do NFC

O Unicode define quatro formas de normalização. NFC e NFD operam apenas sobre equivalência canônica: recomõem ou decompõem caracteres que o padrão trata como o mesmo caractere abstrato, por exemplo é pré-composto versus e mais acento agudo combinante. NFKC e NFKD vão além aplicando primeiro mapeamentos de compatibilidade.

Esses mapeamentos descartam de propósito distinções de apresentação úteis à tipografia, mas não ao pareamento: a ligadura fi de um único code point vira f e i; dígitos e letras latinas fullwidth mapeiam para as contrapartes ASCII halfwidth; superescritos e subescritos dobram para dígitos comuns; frações expandem em sequências com barra de fração; e muitas formas de letra envoltas ou estilizadas reduzem a uma base mais simples.

Após essa decomposição de compatibilidade, o NFKC executa o mesmo passo de composição do NFC, de modo que a string final fique dobrada por compatibilidade e canonicamente composta. Escolha NFC quando precisar preservar ligaduras e estilo fullwidth como glifos distintos para fidelidade visual. Escolha NFKC quando igualdade, busca e hash devam tratar essas variantes como o mesmo texto.

Esta capacidade aplica sempre NFKC e rotula a forma na resposta para que o cliente nunca adivinhe o algoritmo.

Onde um normalizador NFKC agrega valor em pipelines reais

Sistemas de busca e catálogo normalizam títulos de produto e nomes digitados pelo usuário com NFKC antes da indexação, para que uma marca fullwidth e sua gêmea ASCII caiam no mesmo token. Pipelines de conteúdo que geram slugs de URL aplicam NFKC primeiro para que ligaduras e símbolos de compatibilidade não gerem depois surpresas opacas com codificação percent. Jobs de qualidade de dados comparam registros após NFKC para detectar quase-duplicatas que diferem só por variantes Unicode estilizadas copiadas de PDF ou documentos de escritório.

Checagens de segurança e identidade às vezes normalizam nomes de usuário ou rótulos com NFKC antes da igualdade, reduzindo formas de compatibilidade parecidas que não são ataques homógrafos verdadeiros, mas ainda quebram portas de correspondência exata. Engenheiros de localização usam a ferramenta gratuita do navegador nesta página para confirmar como uma frase de amostra se dobra antes de fixar a mesma forma em testes de aceitação.

Deduplicação em busca e catálogo

Normalize títulos e nomes com NFKC antes de indexar para que ligaduras, letras fullwidth e dígitos de compatibilidade compartilhem as mesmas chaves de busca.

Pipelines de slugs e URL

Dobre caracteres de compatibilidade antes de gerar o slug para que Unicode estilizado colado do clipboard não produza segmentos de caminho inesperados.

O que é a normalização Unicode NFKC?

NFKC é Normalization Form Compatibility Composition de UAX #15: decomposição de compatibilidade de formas de apresentação e depois composição canônica. Dobra ligaduras e caracteres estilizados em uma string composta estável para pareamento e busca.

Como o NFKC difere do NFC?

NFC trata apenas equivalência canônica (por exemplo compor e mais agudo em é). NFKC também aplica mapeamentos de compatibilidade como fi→fi e fullwidth A→A antes de compor, o que é melhor para igualdade e indexação.

Qual a diferença entre NFKC e NFKD?

As duas aplicam primeiro a mesma dobra de compatibilidade. O NFKD para aí e deixa os acentos como marcas soltas, enquanto o NFKC os recompõe, de modo que um e seguido de acento agudo combinante termina como a letra é.

Quando é melhor não usar NFKC?

Quando ligaduras, formas de largura total ou letras estilizadas precisam aparecer como estão, por exemplo num texto diagramado. O NFKC apaga essas diferenças de propósito: use NFC para exibir e NFKC para comparar, buscar ou achar duplicados.

O que acontece com letras de largura total e sobrescritos?

Elas voltam à forma comum: letras latinas de largura total viram o A a Z normal, dígitos sobrescritos ou subscritos viram dígitos comuns e frações se abrem em dígitos com barra de fração. Assim o texto copiado de um PDF bate com o que se digita.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/enc/unicode-nfkc

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/enc/unicode-nfkc \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"file ㎞ ①"}'
{
  "text": "file ㎞ ①"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.unicode_nfkc",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O endpoint é trabalho parse puro: a mesma entrada sempre gera a mesma saída, sem chamadas de rede, sem tokens de modelo e sem comportamento dependente de data. Validação falha retorna invalid_input e não é cobrada; chamadas bem-sucedidas custam o preço base publicado US$ 0,002.

O que o NFKC faz e como difere do NFC

O campo result é a string normalizada; text ecoa a entrada; input_length e output_length reportam comprimentos JavaScript antes e depois; changed é true quando a saída difere da entrada caractere a caractere; e standard nomeia UAX 15 para alinhar documentação e auditorias à especificação Unicode, e não a uma tabela ad hoc.

Contrato de entrada, formato da resposta e erros

Text ausente falha com mensagem clara de campo faltante. Strings vazias são válidas e normalizam para vazio com changed false. Como a implementação usa o caminho normalize do ECMAScript do host para a forma NFKC, goldens e produção compartilham o mesmo mapeamento determinístico para cada escalar suportado pelo motor. Faça POST de um objeto JSON com o campo obrigatório text contendo a string Unicode a normalizar. Os aliases input, value, s e data são aceitos para que formulários, helpers de consulta e clientes SDK reutilizem nomes familiares sem renomear colunas. O valor deve ser string; números finitos e booleanos são convertidos para a forma decimal ou true/false por conveniência em shells de script, enquanto objetos, arrays, um corpo null sem campo, NaN e Infinity falham com invalid_input e uma mensagem que nomeia o problema. Strings com mais de 65536 caracteres são rejeitadas para manter previsível a memória do Worker. Em sucesso o corpo sempre inclui result, o text ecoado, form fixo na string NFKC, input_length, output_length, um booleano changed e um rótulo standard apontando à composição de compatibilidade Unicode NFKC. Combine este endpoint com um conversor de code points quando precisar inspecionar tokens U-plus antes e depois da dobra, ou com ferramentas de case-folding quando a busca exigir NFKC e também insensibilidade a maiúsculas. Pedidos inválidos não são cobrados; apenas normalizações bem-sucedidas consomem o preço por item de US$ 0,002.

Onde um normalizador NFKC agrega valor em pipelines reais

Como a capacidade é parse puro de nível A, cada chamada bem-sucedida custa US$ 0,002, não sai para a rede e coincide byte a byte com o caminho interativo gratuito no mesmo módulo. Mantenha os payloads abaixo do limite de comprimento, trate invalid_input como bug de cliente a corrigir e não como erro de servidor retriável, e documente que você escolheu NFKC de propósito quando NFC, voltado a preservar a exibição, teria sido o padrão errado para pareamento.

Testes golden de identidade de texto

Fixe saídas NFKC de ligaduras, marcas combinantes e quadrados de compatibilidade em CI para que bibliotecas não alterem a dobra em silêncio.

Que entrada o normalizador Unicode NFKC aceita?

Envie um objeto JSON com o campo string obrigatório text (aliases input, value, s, data). Text ausente, objetos/arrays não string, números não finitos e strings com mais de 65536 caracteres retornam invalid_input.

O que a resposta inclui?

result é a string NFKC; text ecoa a entrada; form é sempre NFKC; input_length e output_length são comprimentos de caracteres; changed é true se a normalização alterou a string; standard nomeia UAX #15.

Quanto custa o normalizador Unicode NFKC?

A ferramenta no navegador é gratuita. Pedidos API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.

Ver a documentação completa do KIT →