Resumen

  • RFC 3536 distinguió los octetos codificados, los caracteres abstractos, los sistemas de escritura, los idiomas y los glifos escogidos al renderizar; cada capa aportaba una prueba limitada.
  • El glosario de 2003 era informativo, incompleto y no normativo, y RFC 6365 lo dejó obsoleto en 2011. Su lección vigente es que una forma convincente no certifica la lengua ni el sentido.

Un recibo digital puede mostrar el nombre de una persona sin un solo símbolo extraño. Para quien lo mira, el problema parece resuelto. Pero la misma apariencia podría haber surgido tras interpretar los bytes con una etiqueta equivocada, componer los signos con una fuente sustituta o deducir un idioma que nadie declaró. La imagen confirma que hubo una decisión de renderizado. No permite reconstruir qué llegó, qué se normalizó ni qué entendió el destinatario.

RFC 3536 apareció en mayo de 2003 como Terminology Used in Internationalization in the IETF. No definía un formato de intercambio. Era un glosario Informativo creado porque las conversaciones técnicas empleaban términos cercanos para fenómenos distintos. El propio texto advertía que sus definiciones no eran normativas, que la lista era incompleta y que algunas palabras —en especial «idioma»— seguían siendo discutidas. La captura actual de la página de erratas no enumera ninguna, pero eso no convierte el documento en una taxonomía definitiva.

En el extremo de la red hay bits y octetos. Un charset establece cómo se relacionan esos octetos con caracteres abstractos: combina un repertorio codificado con un esquema de codificación y usa un nombre registrado por IANA. UTF-8, descrito para Internet por RFC 3629, resuelve esa transformación. La etiqueta no identifica el idioma del contenido, no evalúa la gramática y no garantiza que la secuencia resultante tenga sentido para alguien.

El carácter tampoco es el dibujo. RFC 3536 lo trata como un elemento abstracto con nombre y propiedades. El glifo es una de sus formas renderizadas, elegida en función de la fuente, el contexto y las reglas de composición. Un carácter admite varias formas; secuencias diferentes pueden acabar pareciéndose; una forma aislada puede representar cosas distintas. La pantalla ofrece una salida, pero no una operación inversa fiable hacia los datos de entrada.

La escritura y el idioma mantienen otra relación de muchos a muchos. Un sistema de escritura sirve a varias lenguas, y una lengua puede usar más de una escritura. Detectar el sistema ayuda a escoger reglas gráficas, pero no nombra el idioma. Las etiquetas definidas primero en RFC 3066 y después en RFC 5646 transportan esa declaración por separado. Incluso una etiqueta válida puede ser incorrecta, inferida o demasiado general; no prueba fluidez ni comprensión.

RFC 2277 ya había situado a las personas en el centro: los protocolos no hablan una lengua natural, pero las cadenas que transportan sí se presentan a usuarios. Internacionalizar no consiste, por tanto, en aceptar bytes fuera de ASCII. Incluye entrada, almacenamiento, comparación, búsqueda, ordenación, presentación visual, voz, tacto y la comprobación de que el público previsto puede utilizar el resultado.

La normalización hace visible la distancia entre apariencia e identidad. Unicode permite secuencias distintas que son canónicamente equivalentes. El anexo UAX #15 define formas normalizadas y RFC 5198 añadió un perfil para texto de red. RFC 3536 subrayó una decisión operativa: el protocolo debe especificar dónde se normaliza. Si cada componente lo hace en un punto distinto, cadenas que parecen iguales pueden ser claves distintas, o registros distintos pueden fusionarse sin dejar rastro.

Esta frontera no repite el artículo sobre RFC 5137. Allí importan los escapes Unicode, los identificadores normalizados y la posible confusión entre cuentas. Aquí importa el trayecto general que convierte octetos en caracteres, añade contexto de escritura e idioma y termina en un glifo. Una regla para identificadores es solamente una aplicación de ese trayecto.

La colación demuestra que ni siquiera un orden determinista basta. El orden esperado por lectores depende del idioma y de sus convenciones; no coincide en general con ordenar por el número del punto de código. Dos comunidades que usan el mismo alfabeto pueden querer índices distintos. Una base de datos puede ejecutar sin error y aun así ofrecer el orden equivocado. «Consulta completada» no prueba «lista adecuada para este idioma».

El texto bidireccional separa el orden almacenado del orden visto. Una captura no siempre revela la secuencia subyacente; el cursor, el copiado o la lectura en voz alta pueden exponer otra estructura. Además, RFC 3536 entiende el renderizado en sentido visual, auditivo y táctil. La página puede verse bien y al mismo tiempo pronunciarse mal o fallar en una línea braille.

La cronología evita atribuir autoridad indebida. RFC 3536 nunca fue un Internet Standard. En septiembre de 2011, RFC 6365 se publicó como BCP 166, con consenso y revisión pública del IETF, y lo declaró obsoleto. RFC 7997 cambió más tarde la política de caracteres no ASCII en las propias RFC. Son pasos posteriores de una práctica en evolución, no una ratificación retroactiva de cada definición de 2003.

La sección de seguridad de RFC 3536 declara que la seguridad no se discute. Conviene respetar ese límite. Hoy sabemos que la codificación, la dirección y las formas confundibles pueden influir en riesgos concretos, pero el glosario no ofreció un modelo de amenazas completo. Su afirmación útil es epistemológica: al borrar los límites entre dato codificado, texto abstracto, contexto lingüístico y presentación, también se borra la capacidad de auditar.

Una cadena probatoria seria conserva los octetos y el charset declarado; registra la decodificación; valida la secuencia; nombra la normalización y el punto donde se aplicó; conserva las etiquetas de idioma y su procedencia; identifica escritura y dirección; anota motor de composición, fuente y sustituciones; comprueba salidas visuales, auditivas y táctiles; documenta la colación; y consulta al público que debe comprenderla. El glifo correcto solo confirma una transición.

Fuentes