Resumen
- RFC 9839 ofrece tres subconjuntos citables —Unicode Scalars, XML Characters y Unicode Assignables— con límites cada vez más estrictos.
- Los escapes de JSON pueden transportar controles, sustitutos aislados y no caracteres sin invalidar la gramática del documento; el éxito del parser no prueba que el valor sea interoperable.
- El control real es por campo: conjunto permitido, decisión de rechazar o sustituir y resultados idénticos en cada componente que decodifica, guarda o vuelve a emitir la cadena.
La respuesta del parser fue correcta y, aun así, insuficiente. Había reconocido el objeto, sus miembros y los escapes. No había respondido si una cadena con NUL podía ser un identificador, si un surrogate sin pareja podía cruzar una salida UTF-8 o si un no carácter debía llegar al registro de auditoría.
RFC 9839 convierte esa zona gris en una frontera nombrable. Es Standards Track desde agosto de 2025; la ficha, el texto y el XML fijan el mismo contenido. El estándar no certifica ninguna implantación.
El repertorio es una política del campo
Unicode Scalars excluye U+D800–U+DFFF, los 2.048 puntos surrogate. XML Characters también descarta la mayoría de controles C0 y U+FFFE/U+FFFF. Unicode Assignables elimina surrogates, controles heredados y todos los no caracteres, pero permite puntos ya asignados y reservas que Unicode podrá asignar en el futuro.
El Estándar Unicode define el espacio; UAX 44 documenta propiedades. RFC 3629 define UTF-8 y RFC 2277 exige que los protocolos puedan usarlo. Nada de ello decide por sí solo qué admite un nombre, una prueba firmada o una nota libre.
La descripción en ABNF evita que “Unicode válido” signifique algo distinto en cada equipo. XML 1.0 aporta uno de los perfiles, no una frontera universal contra todos los riesgos.
Un escape no concede permiso
RFC 8259 y su registro especifican JSON. RFC 9839 presenta un JSON conforme cuyo valor decodificado contiene un NUL, un control C1, un surrogate aislado y un no carácter. No puede serializarse como UTF-8 bien formado, aunque distintas bibliotecas pueden tratarlo de manera diferente.
La secuencia escapada sólo es una representación. La política se aplica al contenido resultante. Por eso la comprobación correcta está después de resolver escapes y antes de que el dato se convierta en estado autoritativo. El parser general no conoce el efecto empresarial del campo.
I-JSON, Net-Unicode y PRECIS cubren perfiles adicionales. Un nombre visible o un identificador puede necesitar reglas de normalización, contexto y comparación mucho más estrictas que Unicode Assignables.
Rechazar y reemplazar conservan cosas distintas
Rechazar conserva la exactitud al impedir que el dato ambiguo entre. Reemplazar por U+FFFD puede mantener viva una ruta de visualización y señalar la avería, pero pierde la secuencia original. No debe usarse dentro de firmas, hashes, claves de deduplicación, reglas de acceso o documentos probatorios como si nada hubiera cambiado.
Eliminar en silencio es peor: puede fusionar cadenas antes distintas y romper la correspondencia entre recepción, almacenamiento y auditoría. RFC 9413 ayuda a situar la robustez en el manejo explícito de entradas inesperadas, no en aceptar cualquier cosa.
El rechazo también requiere diseño. Diagnósticos costosos y sin límites pueden crear una superficie de disponibilidad. La tasa, el mensaje, la cuarentena y la retención de evidencia son decisiones del operador que el estándar no toma por él.
La misma prueba debe sobrevivir a toda la cadena
Una organización necesita vectores comunes para gateway, parser, validador, cola, controlador de base, almacenamiento, log, exportación y consumidor. Debe separar fallo de sintaxis, infracción del repertorio, sustitución deliberada y fallo posterior de serialización. La comparación incluye secuencia escalar, clase de error, decisión y forma persistida.
Que CBOR use valores escalares Unicode por defecto resuelve los surrogates, no los controles heredados o no caracteres. Cambiar el contenedor no elimina la política del campo.
Los límites humanos son aún más amplios. TR36 trata seguridad Unicode; TR55 se ocupa del código fuente; el W3C separa carácter, punto de código, unidad y byte. Confusables, bidireccionalidad y equivalencia canónica quedan fuera del alcance estrecho de RFC 9839.
No se midió aquí ningún producto ni incidente. Tampoco hay datos de adopción. Lo demostrable es la arquitectura de la decisión: el formato coordina la sintaxis; el propietario del protocolo define la admisión; el código en ejecución debe aportar los recibos.
Fuentes
Informe para miembros
Contexto ampliado del perfil
Inicia sesión con el nivel de membresía adecuado para desbloquear el informe completo y las notas de las fuentes.
Solo para Strategic Circle
Strategic Circle
Abierto a todos los lectores. Desbloquea informes de perfil después de unirte e iniciar sesión.
Únete a Strategic CircleSolo para Leadership Alliance
Leadership Alliance
Para propietarios y directivos cualificados de activos de propiedad intelectual; inicia sesión para desbloquear los informes de la alianza.
Unirse a Leadership Alliance
