49 votes

Quel est le but de la noncharacters U+FDD0 à U+FDEF?

U+FFFE doit être un caractère, afin de permettre à la Marque d'Ordre d'Octet de travail.

U+FFFF est décrit dans Le Standard Unicode "utile à des fins internes, comme des sentinelles". Du sens.

Mais je ne peux pas comprendre, et Le Standard Unicode n'est pas vraiment expliquer pourquoi l'ensemble de noncharacters comprend un hasard bloc au sein de "l'arabe de Formulaires de Présentation-Un". Ce sont ces pour? (En plus de l'œil du basilic?)

48voto

Ben Points 14995

OK la question est: "quels sont-ils et Pourquoi sont-ils dans le milieu de l'arabe, Présentation des Formes".

Par conséquent, il a été convenu que ces codepoints, qui n'ont jamais été destiné à être utilisé autrement, serait désigné noncharacters afin qu'ils puissent être utilisés à l'interne par les applications/programmeurs.

18voto

Zimbabao Points 5622

Ces noncharacters à un usage interne par l'application et ne sont pas interchangeables.

J'ai essayé d'expliquer basé sur ce qui est dit dans le standard Unicode.

Unicode a obtenu 66 non-caractères. Pour tous les 17 plans qu'ils ont deux chacune, deux derniers points de code de l'avion se terminant avec FFFE FFFF. 32 a pas d'autres caractères sont bloc continu U+FDD0 à U+FDEF.

Donc, nombre total

 17*2 + 32 = 66

Lire la suite du texte à partir de l'unicode chapitre 16, qui dit que ses aléatoire, dans certains endroit en raison de la "raison historique", je suis curieux, mais je ne pense pas qu'il y a une ambiguïté.

Pour des raisons historiques, la plage U+FDD0..U+FDEF est contenue dans l'arabe de Formulaires de Présentation-Un bloc, mais ceux noncharacters ne sont pas "L'arabe noncharacters" ou "de droite à gauche noncharacters," et ne sont pas distingués dans toute autre chemin de l'autre noncharacters, sauf dans leurs valeurs de point de code

U+FEFF est de NOMENCLATURE et d' U+FFFE est d'octets échangés version de celui-ci. Mais depuis U+FFFE est un caractère, lorsqu'un processus d'interprétation, trouve U+FFFE comme premier caractère, il signale que le processus a rencontré le texte c'est de la mauvaise octet de commande ou que le fichier n'est pas valide Unicode texte, Il donne juste un signal, pas d'une manière standard. Il peut être soit de l'un, inverser les octets ou un mauvais texte.

Dans l'Unicode section 3.2 de la clause C2 dit

C2, Un processus ne peut pas interpréter un caractère de point de code comme un personnage abstrait.

  • Le caractère des points de code peut être utilisé en interne, comme pour les sentinelles, des valeurs ou des séparateurs, mais ne devrait pas être échangés publiquement.

De sorte que les développeurs d'applications, vous êtes libre d'utiliser ces caractères comme vous le souhaitez. Ils sont utilisés comme sentinelles ou delimter ou peut-être certains baslik personnages, mais ils ne doivent pas être interchangeables.

Section 16.7 dit

En effet, noncharacters peut être considéré comme l'application interne privé-utilisation des points de code. À la différence du privé,-utiliser des caractères discuté dans la Section 16.5, Privé-Utilisez des Caractères, qui sont les caractères assignés et qui sont destinés à ouvrir échange, sous réserve de interprétation par acte sous seing privé, noncharacters sont définitivement réservée (unassigned) et n'ont pas d'interprétation que ce soit à l'extérieur de leur application interne des usages privés

Nouveau U+FFFF n'est pas réservé que les sentinelles par le standard Unicode, mais simplement le cas d'utilisation typique. Lire dans la section 16.7

U+FFFF et U+10FFFF. Ces deux caractère de code de points d'attribut de l'être associée à la plus grande unité de code de valeurs particulières pour l'encodage Unicode formes. Dans UTF-16, U+FFFF est associé avec le plus grand code 16 bits de la valeur de l'unité, FFFF16 U+10FFFF est associée à la plus grande juridiques UTF-32 32-bits de code de l'unité de valeur, 10FFFF16 Cette caractéristique rend ces deux caractère de code de points utiles à des fins internes, comme des sentinelles. Pour exemple, ils peuvent être utilisés pour indiquer la fin d'une liste, pour représenter une valeur dans un index la garantie d'être plus élevé que pour être valable, toute valeur de caractère, et ainsi de suite

11voto

Joshua Burns Points 2800

Comme mentionné ici, à xkcd, U+FDD0 est en fait le caractère Unicode pour l'œil d'un basilic. Pour (obvious) des raisons de sécurité personnelle toutefois, le caractère n'est pas affichée à l'écran... :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X