1 votos

¿Qué sucede si una capa de presentación recibe Unicode pero puede ' t presentarlo?

Actualmente soy un estudiante de la Universidad Ciencias de la computación y mientras estudiaba para la prueba de red me planteé con una interesante pregunta en nuestro libro.

Permite decir un ordenador fue creado antes de que Unicode fue inventado, ahora la capa de presentación recibe este Unicode pero está fuera del rango posible de la interpretación, ¿qué pasará con estos datos a este equipo? ¿Cómo presenta esta información?

5voto

Nick Dixon Puntos 154

Depende del programa específico. La mayoría se hacen lo mejor que pueden.

No existe la "capa de presentación" en una computadora es sólo un lugar vagamente definidos parte del sistema operativo y/o de los programas individuales. Cada programa es diferente en la forma en que había separado a las capas (en todo caso). Y todo el software en un ordenador puede ser actualizado para las nuevas características como sea necesario.

(Personalmente yo no le preste mucha atención a las capas de 6-7 a todos, otro de ellos es "el software que hace uso de la capa de sesión".)


También, se dan cuenta de que Unicode es un resumen estándar y no se transmite a través de la red – los programas suelen enviar y recibir codificaciones específicas, tales como UTF-8 o UTF-16. Así que un pre-Unicode programa no tiene un "fuera de rango" problema de la nada, porque no interpretar los bytes recibidos de esta manera en el primer lugar.


La presentación consta generalmente de varias tareas individuales, por lo tanto, cuando digo 'software' de abajo, se puede hacer referencia a un componente diferente cada vez. (Por ejemplo, la codificación de UTF-8 en el programa de la representación interna podría ser manejado por libc, diseño de Pango, en representación de la fuente por FreeType.)

  • Primero viene la decodificación. Entonces, ¿qué hace un programa de hacer si recibe un UTF-8 mensaje que no entiende? Por lo general, si se sabe que los datos de texto, que va a utilizar a algún tipo de reserva de codificación decodificación. Por ejemplo, si un viejo de correo electrónico de Internet programa, ve tipo MIME text/plain; charset=utf-8, sabrá que el mensaje es textual, y tratará de interpretar sus bytes como ISO 8859-1 o Windows-1252, incluso si los resultados en la basura.

    (Como sucede, tanto en UTF-8 y ISO 8859 están basados en ASCII, por lo que muchos de los textos Europeos en realidad resultar en una mitad legible decodificación independientemente. Ver la Wikipedia Mojibake artículo para ejemplos).

    Dicho esto, no siempre el trabajo de ciertos formatos son más estrictos que otros. Por ejemplo, si un ASN.1 documento ha UnicodeString en lugar de IA5String, programas viejos no saben todavía de texto o algún otro tipo de datos. Así que si una empresa coreana compra un certificado SSL, algunos de los antiguos navegadores mostrarán su nombre como "Organización: [no reconocido]".

  • Luego de la interpretación. Si el software es compatible con una versión anterior de Unicode y recibe de texto con puntos de codificación fuera de su rango, que no es un problema hasta que se muestran en la pantalla en la que se le va a ver el "�" símbolo de reemplazo en su lugar.

    Por supuesto, si usted por ejemplo, decirle al editor de texto a mayúsculas todo, no va a ser capaz de hacer eso con los de fuera-de-rango de caracteres. Pero aún funciona.

    (Recientemente, muchos "compatible con Unicode" programas y sitios de internet se encontró que el uso de UCS-2 internamente (que sólo se sube a U+FFFF). Si se dan UTF-16-texto codificado con puntos de codificación de arriba que (por ejemplo, emoji), que iba a interpretar el UTF-16 pares suplentes como dos desconocidos puntos de codificación y mostrar "��" en lugar de "

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: