tabla ejemplos consorcio unicode

unicode - ejemplos - ¿Cuál es el propósito de los noncaracters U+FDD0 a U+FDEF?



unicode pdf (3)

Como se menciona aquí en xkcd , U+FDD0 es en realidad el carácter Unicode para el ojo de un basilisco. Por razones (obvias) de seguridad personal, sin embargo, el personaje no se representa en la pantalla ... :)

U + FFFE necesita ser un carácter distinto para permitir que funcione la Marca de orden de bytes.

U + FFFF se describe en el estándar Unicode como "útil para fines internos como centinelas". Tiene sentido.

Pero no puedo entender, y The Unicode Standard realmente no explica, por qué el conjunto de noncharacters incluye algún bloque aleatorio dentro de "Arabic Presentation Forms-A". ¿Para qué son estos? (¿Además del ojo del basilisco ?)


OK, la pregunta es "para qué sirven" y "por qué están en el medio de las formas de presentación en árabe".

Por lo tanto, se acordó que estos puntos de código, que nunca se usarían de otro modo, se designarían como no caracteres para que puedan ser utilizados internamente por las aplicaciones / programadores.


Estos noncharacters son para uso interno por aplicación y no deben intercambiarse.

Traté de explicarlo en base a lo que se dice en el estándar Unicode.

Unicode obtuvo 66 caracteres. Para los 17 aviones, tienen dos puntos de código, los dos últimos del plano que termina con FFFE FFFF. Otros 32 caracteres sin signo son el bloque continuo U + FDD0 a U + FDEF.

Así que cuenta total

17*2 + 32 = 66

Lea el siguiente texto del capítulo 16 de Unicode, que dice que está en algún lugar aleatorio debido a "razones históricas". Tengo curiosidad, pero no creo que haya ninguna ambigüedad.

Por razones históricas, el rango U + FDD0..U + FDEF está contenido dentro del bloque Árabe de Formularios de Presentación-A, pero esos noncaracters no son "noncharacters Árabes" o "noncharacters de derecha a izquierda", y no se distinguen en ningún de otra manera de los otros noncharacters, excepto en sus valores de punto de código

U+FEFF es BOM y U+FFFE es una versión de byte- U+FFFE de él. Pero dado que U+FFFE es un personaje, cuando un proceso de interpretación encuentra a U + FFFE como el primer carácter, indica que el proceso ha encontrado texto que tiene un orden de bytes incorrecto o que el archivo no es un texto Unicode válido, simplemente da una señal, no de una manera estándar. Puede ser cualquiera de los bytes uno, inverso o un texto incorrecto.

En la sección 3.2 de Unicode , la cláusula C2 dice

C2 Un proceso no debe interpretar un punto de código que no sea de carácter como un carácter abstracto.

  • Los puntos de código que no son caracteres pueden usarse internamente, como para valores centinela o delimitadores, pero no deben intercambiarse públicamente.

Entonces, como desarrolladores de aplicaciones, puedes usar estos personajes como desees. Se usan como centinelas o delimitadores o pueden ser algunos caracteres baslik, pero no deben intercambiarse.

La sección 16.7 dice

En efecto, los noncaracters pueden considerarse puntos de código de uso privado interno de la aplicación. A diferencia de los caracteres de uso privado discutidos en la Sección 16.5, Caracteres de uso privado, que son caracteres asignados y que están destinados a uso en intercambio abierto, sujetos a interpretación por acuerdo privado, los caracteres no reservados están permanentemente reservados (sin asignar) y no tienen interpretación alguna fuera de su posible aplicación-usos privados internos

De nuevo, U + FFFF no está reservado como centinela según el estándar Unicode, sino que se le ha asignado el caso de uso típico. Leer en la sección 16.7

U + FFFF y U + 10FFFF. Estos dos puntos de código no característicos tienen el atributo de estar asociados con los valores de unidad de código más grandes para formas de codificación Unicode particulares. En UTF-16, U + FFFF está asociado con el mayor valor de unidad de código de 16 bits, FFFF 16 U + 10FFFF está asociado con el mayor valor de unidad de código UTF-32 legal de 32 bits, 10FFFF 16 Este atributo representa estos dos códigos de no caracteres puntos útiles para fines internos como centinelas. Por ejemplo, podrían usarse para indicar el final de una lista, para representar un valor en un índice garantizado que sea más alto que cualquier valor de carácter válido, y así sucesivamente