Le 09/11/2022 à 15:41, Stefan Ram a écrit :
>
>>>for i in range( 1114112 ): # Python 3.9
>>Je ne comprends pas le commentaire. Cette syntaxe ne fonctionnerait pas
>>pour les versions de Python inférieures à 3.9 ?
>
> Je pensais que d'autres versions de Python pourraient
> supporter d'autres versions d'Unicode avec plus ou moins
> de points de code. Par conséquent, le numéro "1114112"
> pourrait devoir être modifié.
Je comprends mieux.
Mais du coup tu peux supprimer ce commentaire, car Unicode garantit
qu'il n'existera jamais de point de code au delà de U+10FFFF, en
décimal 1114111. On n'aurait pas eu cette limitation en UTF-8, qui
permettait au départ des points de code jusqu'à U+7FFFFFFF (en 6
octets), mais la limitation vient d'UTF-16.
On peut noter que cette limitation d'UTF-16, qui impose à Unicode
la limitation à U+10FFFF, limite du même coup UTF-8 : on n'aura
jamais en UTF-8 d'encodage nécessitant plus de 4 octets.
--
Olivier Miakinen