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:

, marca el inicio del texto anotado. , marca el inicio de los caracteres de anotación , marca el final del bloque de anotaciones , marcador de posición en el texto para otro objeto no especificado, por ejemplo, en un documento compuesto. , utilizado para reemplazar un carácter desconocido, no reconocido o irrepresentable no es un carácter. no es un carácter.

y no están definidos como "caracteres sin asignar", pero se garantiza que no serán caracteres Unicode en absoluto. Se pueden utilizar para adivinar el esquema de codificación de un texto, ya que cualquier texto que los contenga no es, por definición, un texto Unicode correctamente codificado. El carácter Unicode se puede insertar al principio de un texto Unicode para señalar su carácter final: un programa que lea dicho texto y se encuentre con 0xFFFE sabrá entonces que debe cambiar el orden de los bytes para todos los siguientes caracteres.Su nombre de bloque en Unicode 1.0 era Special.

Carácter de reemplazo thumb|Carácter de reemplazo El carácter de reemplazo � (representado por un rombo negro con un signo de interrogación blanco o un recuadro vacío) es un símbolo que se encuentra en el estándar Unicode en el punto de código U+FFFD en la tabla Specials. Se utiliza para indicar problemas cuando un sistema no puede convertir un flujo de datos en un símbolo correcto. 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 0x72, que se mostrará 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 preservar 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.

Se ha vuelto cada vez más común para que el software intérprete UTF-8 no válido adivinando que los bytes están en otra codificación basada en bytes, como ISO-8859-1. Esto permite la visualización correcta de UTF-8 válido y no válido pegados juntos. Si una página web usa ISO-8859-1 (o Windows-1252) pero especifica la codificación como UTF-8, la mayoría de los navegadores web solían mostrar todos los caracteres no ASCII como �, pero los navegadores más nuevos traducen los bytes erróneos individualmente a caracteres en Windows-1252, por lo que el carácter de reemplazo se ve con menos frecuencia.

Tabla de caracteres Unicode Specials 0123456789ABCDEFU+FFFx  IA A  IA S  IA T�Notas A partir de la versión 13.0 de Unicode Las áreas grises indican puntos de código no asignados Las áreas negras indican que no son caracteres (puntos de código que se garantiza que nunca se asignarán como caracteres codificados en el estándar Unicode)

Historia Los siguientes documentos relacionados con Unicode registran el propósito y el proceso de definir caracteres específicos en el bloque Specials:

VersiónCuentaUTC IDL2 IDWG2 IDDocumento1.0.0U+FFFD1(por determinar)U+FFFE..FFFF2(por determinar) doc)N24032.1U+FFFC1N1365N1353N1603N1681N18943.0U+FFF9..FFFB3N1727N1703 html)N1861 doc)N1920 html, doc) doc)

Véase también Caracteres de control unicode

Referencias

Categoría:Unicode