Promotions (bloc Unicode) - Specials (Unicode block)

Promotions
Varier U+FFF0..U+FFFF
(16 points de code)
Avion BMP
Scénarios Commun
Attribué 5 points de code
Inutilisé 9 points de code réservés
2 non-caractères
Historique des versions Unicode
1.0.0 (1991) 1 (+1)
2.1 (1998) 2 (+1)
3.0 (1999) 5 (+3)
Remarque :

Specials est un court bloc Unicode alloué à la toute fin du plan multilingue de base , à U+FFF0–FFFF. Sur ces 16 points de code, cinq ont été attribués depuis Unicode 3.0 :

  • U+FFF9 ANCRE D'ANNOTATION INTERLINEAIRE , marque le début du texte annoté
  • SÉPARATEUR D'ANNOTATION INTERLINÉAIRE U+FFFA , marque le début du ou des caractères d'annotation
  • U+FFFB INTERLINEAR ANNOTATION TERMINATOR , marque la fin du bloc d'annotation
  • U+FFFC CARACTÈRE DE REMPLACEMENT D' OBJET , espace réservé dans le texte pour un autre objet non spécifié, par exemple dans undocument composé.
  • U+ FFFD CARACTÈRE DE REMPLACEMENT utilisé pour remplacer un caractère inconnu, non reconnu ou non représentable
  • U+FFFE <noncharacter-FFFE> n'est pas un caractère.
  • U+FFFF <noncharacter-FFFF> n'est pas un caractère.

FFFE et FFFF ne sont pas non attribués au sens habituel du terme, mais garantis de ne pas être du tout des caractères Unicode . Ils peuvent être utilisés pour deviner le schéma de codage d'un texte, car tout texte les contenant n'est par définition pas un texte Unicode correctement codé. Le caractère U+FEFF BYTE ORDER MARK d'Unicode peut être inséré au début d'un texte Unicode pour signaler son endianité : un programme lisant un tel texte et rencontrant 0xFFFE saurait alors qu'il doit changer l'ordre des octets pour tous les caractères suivants.

Son nom de bloc dans Unicode 1.0 était Special .

Caractère de remplacement

Caractère de remplacement

Le caractère de remplacement (souvent affiché sous la forme d'un losange noir avec un point d'interrogation blanc) est un symbole trouvé dans la norme Unicode au point de code U+FFFD dans le tableau Specials . Il est utilisé pour indiquer des problèmes lorsqu'un système est incapable de restituer un flux de données en un symbole correct. Il apparaît généralement lorsque les données sont invalides et ne correspondent à aucun caractère :

Considérons un fichier texte contenant le mot allemand für (qui signifie 'pour') dans l' encodage ISO-8859-1 ( 0x66 0xFC 0x72). Ce fichier est maintenant ouvert avec un éditeur de texte qui suppose que l'entrée est UTF-8 . Le premier et le dernier octet sont des codages UTF-8 valides de l'ASCII, mais l'octet du milieu ( 0xFC) n'est pas un octet valide en UTF-8. Par conséquent, un éditeur de texte pourrait remplacer cet octet par le symbole de caractère de remplacement pour produire une chaîne valide de points de code Unicode . La chaîne entière s'affiche maintenant comme ceci : "f r".

Un éditeur de texte mal implémenté peut enregistrer le remplacement au format UTF-8 ; les données du fichier texte ressembleront alors à ceci : 0x66 0xEF 0xBF 0xBD 0x72, qui sera affiché dans ISO-8859-1 sous la forme "f�r" (c'est ce qu'on appelle mojibake ). Étant donné que le remplacement est le même pour toutes les erreurs, il est donc impossible de récupérer le caractère d'origine. Une meilleure conception (mais plus difficile à mettre en œuvre) consiste à conserver les octets d'origine, y compris l'erreur, et à ne les convertir en remplacement que lors de l' affichage du texte. Cela permettra à l'éditeur de texte d'enregistrer la séquence d'octets d'origine, tout en affichant l'indicateur d'erreur à l'utilisateur.

À une époque, le caractère de remplacement était souvent utilisé lorsqu'il n'y avait pas de glyphe disponible dans une police pour ce caractère. Cependant, la plupart des systèmes de rendu de texte modernes utilisent à la place le caractère .notdef d' une police , qui dans la plupart des cas est une case vide (ou "?" ou "X" dans une case), parfois appelée " tofu " (ce navigateur affiche ???? ). Il n'y a pas de point de code Unicode pour ce symbole.

Ainsi, le caractère de remplacement n'est désormais visible que pour les erreurs d'encodage, telles que l'UTF-8 invalide. Certains logiciels tentent de masquer cela en traduisant les octets de l'UTF-8 non valide en caractères correspondants dans Windows-1252 (car c'est la source la plus probable de ces erreurs), de sorte que le caractère de remplacement ne soit jamais vu.

Graphique Unicode

Promotions
Tableau des codes Consortium Unicode officiel (PDF)
  0 1 2 3 4 5 6 7 8 9 UNE B C E F
U+FFFx  IA 
A
 IA 
S
 IA 
T
??
Remarques
1. ^ À partir de la version Unicode 14.0
2. ^ Les zones grises indiquent les points de code non attribués
3. ^ Les zones noires indiquent les non- caractères (les points de code qui sont garantis ne jamais être attribués en tant que caractères codés dans la norme Unicode)

Histoire

Les documents Unicode suivants enregistrent l'objectif et le processus de définition de caractères spécifiques dans le bloc Specials :

Version Points de code finaux Compter  Identifiant UTC  Identifiant L2  ID GT2 Document
1.0.0 U+FFFD 1 (être déterminé)
U+FFFE..FFFF 2 (être déterminé)
L2/01-295R Moore, Lisa (2001-11-06), "Motion 88-M2", Procès - verbal de la réunion UTC/L2 #88
L2/01-355 N2369 (html , doc ) Davis, Mark (2001-09-26), Request to allow FFFF, FFFE in UTF-8 in the text of ISO/IEC 10646
L2/02-154 N2403 Umamaheswaran, VS (2002-04-22), "9.3 Allowing FFFF and FFFE in UTF-8", Draft minutes of WG 2 meeting 41, Hotel Phoenix, Singapore, 2001-10-15/19
2.1 U+FFFC 1 UTC/1995-056 Sargent, Murray (1995-12-06), Recommandation pour coder un caractère WCH_EMBEDDING
UTC/1996-002 Aliprand, Jeanne ; Hart, Edwin; Greenfield, Steve (1996-03-05), "Objets embarqués", UTC #67 Minutes
N1365 Sargent, Murray (1996-03-18), Résumé de la proposition – Caractère de remplacement d'objet
N1353 Umamaheswaran, VS ; Ksar, Mike (1996-06-25), "8.14", Projet de compte rendu de la réunion n° 30 du GT2 à Copenhague
L2/97-288 N1603 Umamaheswaran, VS (1997-10-24), "7.3", Procès-verbal de réunion non confirmé, WG 2 Meeting # 33, Heraklion, Crète, Grèce, 20 juin – 4 juillet 1997
L2/98-004R N1681 Texte de l'ISO 10646 – AMD 18 pour l'enregistrement PDAM et le vote FPDAM , 1997-12-22
L2/98-070 Aliprand, Jeanne ; Winkler, Arnold, "Commentaires supplémentaires concernant 2.1", Procès - verbal de la réunion conjointe UTC et L2 de la réunion à Cupertino, 25-27 février 1998
L2/98-318 N1894 Texte révisé du 10646-1/FPDAM 18, AMENDEMENT 18 : Symboles et autres , 1998-10-22
3.0 U+FFF9..FFFB 3 L2/97-255R Aliprand, Joan (1997-12-03), "3.D Proposal for In-Line Notation (ruby)", Approved Minutes – UTC #73 & L2 #170 Joint meeting, Palo Alto, CA – 4-5 août 1997
L2/98-055 Freytag, Asmus (1998-02-22), Prise en charge de la mise en œuvre des annotations en ligne et interlinéaires
L2/98-070 Aliprand, Jeanne ; Winkler, Arnold, "3.C.5. Support for implement inline and interlinear annotations", Procès - verbal de la réunion conjointe UTC et L2 de la réunion de Cupertino, 25-27 février 1998
L2/98-099 N1727 Freytag, Asmus (1998-03-18), Prise en charge de la mise en œuvre des annotations interlinéaires utilisées dans la typographie d'Asie de l'Est
L2/98-158 Aliprand, Jeanne ; Winkler, Arnold (1998-05-26), "Inline and Interlinear Annotations", Draft Minutes - UTC #76 & NCITS Subgroup L2 #173 réunion conjointe, Tredyffrin, Pennsylvanie, 20-22 avril 1998
L2/98-286 N1703 Umamaheswaran, VS ; Ksar, Mike (1998-07-02), "8.14", Procès-verbal de réunion non confirmé, réunion #34 du GT 2, Redmond, WA, États-Unis ; 1998-03-16--20
L2/98-270 Hiura, Hideki ; Kobayashi, Tatsuo (1998-07-29), Suggestion pour la proposition d'annotation en ligne et interlinéaire
L2/98-281R (pdf , html ) Aliprand, Joan (1998-07-31), "In-Line and Interlinear Annotation (III.C.1.c)", Unconfirmed Minutes – UTC #77 & NCITS Subgroup L2 # 174 JOINT MEETING, Redmond, WA -- Juillet 29-31, 1998
L2/98-363 N1861 Sato, TK (1998-09-01), marqueurs rubis
L2/98-372 N1884R2 (pdf , doc ) Whistler, Ken ; et al. (1998-09-22), Caractères supplémentaires pour l'UCS
L2/98-416 N1882.zip Prise en charge de la mise en œuvre des annotations interlinéaires , 1998-09-23
L2/98-329 N1920 Enregistrement combiné PDAM et vote de considération sur WD pour ISO/IEC 10646-1/Amd. 30, AMENDEMENT 30 : caractères latins et autres caractères supplémentaires , 1998-10-28
L2/98-421R Suignard, Michel ; Hiura, Hideki (1998-12-04), Notes concernant les caractères d'annotation interlinéaire PDAM 30
L2/99-010 N1903 (pdf , html , doc ) Umamaheswaran, VS (1998-12-30), "8.2.15", Procès - verbal de la 35e réunion du GT 2, Londres, Royaume-Uni ; 1998-09-21--25
L2/98-419 (pdf , doc ) Aliprand, Joan (1999-02-05), "Interlinear Annotation Characters", Procès-verbal approuvé -- UTC #78 & NCITS Subgroup L2 # 175 Joint Meeting, San Jose, CA -- 1-4 décembre 1998
UTC/1999-021 Duerst, Martin; Bosak, Jon (1999-06-08), déclaration W3C XML CG sur les caractères d'annotation
L2/99-176R Moore, Lisa (1999-11-04), "W3C Liaison Statement on Annotation Characters", Procès - verbal de la réunion conjointe UTC/L2 à Seattle, 8-10 juin 1999
L2/01-301 Whistler, Ken (2001-08-01), "E. Indiqué comme "fortement déconseillé" pour l'échange de texte en clair", Analyse de la dépréciation des caractères dans la norme Unicode

Voir également

Les références