0

Resultado Decodificado

Denormalización (NFD)
Denormalización (NFKD)

Resultado Codificado

Normalización (NFC)
Normalización (NFKC)

Sobre la normalización Unicode

La normalización Unicode se refiere a la descomposición y composición de caracteres. Algunos caracteres Unicode tienen múltiples representaciones aunque parezcan iguales. Por ejemplo, "â" se puede representar como un punto de código "â" (U+00E2), o como dos puntos de código descompuestos "a" (U+0061) y " ̂" (U+0302) (carácter base + carácter de combinación). El primero se llama carácter precompuesto y el segundo secuencia de caracteres de combinación (CCS).

Existen los siguientes tipos de normalización Unicode:

Forma de NormalizaciónDescripciónEjemplo
Normalization Form D (NFD)Descomposición canónica"â" (U+00E2) -> "a" (U+0061) + " ̂" (U+0302)
Normalization Form KD (NFKD)Descomposición de compatibilidad"fi" (U+FB01) -> "f" (U+0066) + "i" (U+0069)
Normalization Form C (NFC)Descomposición canónica seguida de composición canónica"â" (U+00E2) -> "a" (U+0061) + " ̂" (U+0302) -> "â" (U+00E2)
Normalization Form KC (NFKC)Descomposición de compatibilidad seguida de composición canónica"fi" (U+FB01) -> "f" (U+0066) + "i" (U+0069) -> "f" (U+0066) + "i" (U+0069)

La equivalencia canónica normaliza manteniendo caracteres visual y funcionalmente equivalentes. Ej. "â" <-> "a" + " ̂"

La equivalencia de compatibilidad, además de la equivalencia canónica, también normaliza caracteres que tienen formas semánticamente diferentes. Ej. "fi" -> "f" + "i"