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.
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.