Normalizador Unicode
Normaliza texto Unicode utilizando los formularios NFC, NFD, NFKC y NFKD.
Entrada
Salida
Leerme
¿Qué es la normalización Unicode?
Unicode define múltiples formas de representar el mismo carácter visible. Por ejemplo, el carácter "é" puede almacenarse como un único punto de código precompuesto (U+00E9) o como la letra "e" seguida de un acento agudo combinado (U+0065 U+0301). Ambos se renderizan de forma idéntica pero son byte a byte diferentes, lo que causa problemas en la comparación de cadenas, búsqueda y procesamiento de texto.
La normalización Unicode es el proceso de convertir texto a una representación canónica para que las cadenas equivalentes se vuelvan idénticas. El Estándar Unicode define cuatro formas de normalización:
- NFC (Descomposición Canónica, seguida de Composición Canónica): Forma precompuesta; más compacta, ampliamente utilizada en la web y en la mayoría de sistemas operativos.
- NFD (Descomposición Canónica): Forma completamente descompuesta; cada carácter se divide en letra base más marcas combinadas.
- NFKC (Descomposición de Compatibilidad, seguida de Composición Canónica): Como NFC pero también convierte caracteres de compatibilidad (p. ej., ligaduras, superíndices, variantes de ancho completo) en sus equivalentes canónicos.
- NFKD (Descomposición de Compatibilidad): Como NFD pero también aplica descomposición de compatibilidad.
Descripción de la herramienta
Esta herramienta normaliza texto Unicode de una forma de normalización a otra. Selecciona las formas de origen y destino, pega tu texto y el resultado convertido aparece al instante.
Características
- Las cuatro formas de normalización: Admite NFC, NFD, NFKC y NFKD como origen y destino.
- Conversión bidireccional: Cambia entre cualquier combinación de formas libremente.
- Salida en tiempo real: El texto se normaliza al instante mientras escribes o pegas.
- Maneja cualquier script Unicode: Funciona con texto latino, CJK, árabe, cirílico y cualquier otro texto codificado en Unicode.
Cómo funciona
La herramienta aplica el método estándar de JavaScript String.prototype.normalize() con la forma de destino seleccionada. Esta es una implementación completamente conforme a la especificación de la normalización Unicode tal como se define en el Anexo #15 del Estándar Unicode.
Casos de uso
- Correcciones de comparación de cadenas: Normaliza el texto antes de compararlo o indexarlo para asegurar que las cadenas visualmente idénticas coincidan correctamente.
- Consistencia de búsqueda y base de datos: Estandariza la entrada del usuario a una única forma (típicamente NFC) antes de almacenarla en una base de datos para evitar entradas duplicadas que difieran solo en la codificación.
- Conversión de compatibilidad: Usa NFKC para contraer ligaduras, superíndices y caracteres de ancho completo en sus equivalentes estándar para indexación de búsqueda o procesamiento de lenguaje natural.