Aller au contenu principal

12. Changements par rapport au RFC 2279

Cette section documente les modifications introduites par le RFC 3629 par rapport à la spécification antérieure du RFC 2279.

Restriction de la plage de caractères

La plage de caractères a été limitée à 0000-10FFFF (la plage accessible à UTF-16).

Il s'agit d'un changement majeur qui restreint UTF-8 à l'espace de caractères défini par Unicode et exclut les plages au-delà de U+10FFFF, auparavant autorisées mais peu pratiques.

Changement de source normative

Unicode devient la source de la définition normative d'UTF-8, ISO/IEC 10646 restant la référence pour les caractères.

Ce changement reconnaît Unicode comme source faisant autorité pour les règles de codage UTF-8, tandis qu'ISO/IEC 10646 demeure la référence pour le répertoire de caractères.

Clarification terminologique

La terminologie a été remaniée. UTF-8 est désormais décrit comme une forme de codage du numéro de caractère. UCS-2 et UCS-4 ont presque disparu.

La terminologie mise à jour fournit des descriptions plus claires et plus cohérentes d'UTF-8 en tant que forme de codage plutôt que format de transformation.

Traitement des séquences invalides

La note mettant en garde contre le décodage de séquences invalides est devenue un MUST NOT normatif.

Auparavant, l'avertissement relatif aux séquences invalides avait une valeur informative. Dans le RFC 3629, il est devenu une exigence normative : les implémentations MUST NOT décoder les séquences invalides.

Ajout de la section sur le BOM

Une nouvelle section sur le BOM UTF-8 a été ajoutée, avec des recommandations à l'intention des protocoles.

La Section 6 fournit des recommandations complètes sur :

  • Les cas où le BOM doit être utilisé ou interdit
  • La manière de traiter le BOM dans différents contextes de protocole
  • Les recommandations destinées aux concepteurs de protocoles

Modification de l'enregistrement MIME

L'enregistrement suggéré du jeu de caractères MIME UNICODE-1-1-UTF-8 a été supprimé.

L'étiquette de jeu de caractères spécifique à une version a été supprimée au profit de l'étiquette générique « UTF-8 », qui couvre toutes les versions d'Unicode postérieures à l'Amendement 5.

Ajout de la syntaxe ABNF

Une syntaxe ABNF pour les séquences d'octets UTF-8 valides a été ajoutée.

La Section 4 comprend désormais une grammaire ABNF formelle définissant précisément les séquences d'octets UTF-8 valides, ce qui facilite la validation des données UTF-8 par les implémenteurs.

Extension de la section sur la sécurité

La section Considérations de sécurité a été étoffée, notamment en ce qui concerne l'incidence de la normalisation Unicode.

La section relative à la sécurité a été considérablement enrichie pour couvrir :

  • Une discussion détaillée des attaques par codage trop long (overlong)
  • Les risques de dépassement de tampon
  • Les implications de l'équivalence canonique pour la sécurité
  • Les références aux formes de normalisation Unicode

Liens connexes