Especiales (bloque Unicode)


Specials es un bloque Unicode corto asignado al final del plano multilingüe básico , en U + FFF0 – FFFF. De estos 16 puntos de código, se han asignado cinco desde Unicode 3.0:

FFFE y FFFF no están sin asignar en el sentido habitual, pero se garantiza que no serán caracteres Unicode en absoluto . Se pueden usar para adivinar el esquema de codificación de un texto, ya que cualquier texto que los contenga, por definición, no es un texto Unicode codificado correctamente. El carácter U + FEFF BYTE ORDER MARK de Unicode se puede insertar al principio de un texto Unicode para señalar su endianidad : un programa que lea ese texto y se encuentre con 0xFFFE sabrá que debe cambiar el orden de los bytes para todos los siguientes caracteres.

El carácter de reemplazo (a menudo se muestra como un rombo negro con un signo de interrogación blanco) es un símbolo que se encuentra en el estándar Unicode en el punto de código U + FFFD en la tabla Especiales . Se utiliza para indicar problemas cuando un sistema no puede convertir un flujo de datos en un símbolo correcto. [4] Por lo general, se ve cuando los datos no son válidos y no coinciden con ningún carácter:

Considere un archivo de texto que contiene la palabra alemana für (que significa 'para') en la codificación ISO-8859-1 ( 0x66 0xFC 0x72). Este archivo ahora se abre con un editor de texto que asume que la entrada es UTF-8 . El primer y último byte son codificaciones UTF-8 válidas de ASCII, pero el byte medio ( 0xFC) no es un byte válido en UTF-8. Por lo tanto, un editor de texto podría reemplazar este byte con el símbolo de carácter de reemplazo para producir una cadena válida de puntos de código Unicode . La cadena completa ahora se muestra así: "f r".

Un editor de texto mal implementado podría guardar el reemplazo en formato UTF-8; los datos del archivo de texto se verán así:, 0x66 0xEF 0xBF 0xBD 0x72que se mostrarán en ISO-8859-1 como "f�r" (esto se llama mojibake ). Dado que el reemplazo es el mismo para todos los errores, esto hace que sea imposible recuperar el carácter original. Un diseño mejor (pero más difícil de implementar) es conservar los bytes originales, incluido el error, y solo convertirlos al reemplazo cuando se muestra el texto. Esto permitirá que el editor de texto guarde la secuencia de bytes original, sin dejar de mostrar el indicador de error al usuario.

En un momento, el carácter de reemplazo se usaba a menudo cuando no había un glifo disponible en una fuente para ese carácter. Sin embargo, la mayoría de los sistemas de representación de texto modernos utilizan en su lugar el carácter .notdef de una fuente , que en la mayoría de los casos es un cuadro vacío (o "?" O "X" en un cuadro [5] ), a veces llamado " tofu " (este navegador muestra? ???). No hay ningún punto de código Unicode para este símbolo.


Carácter de reemplazo