J'aimerai bien savoir en quoi UTF-8 n'est pas un vrai support d'Unicode..
Avec UTF-8, tu as plein de merdes : tu coupes là ou il ne faut pas et hop tu as des octets invalides, ça rame pour compter (strlen() comptent le nombre d'octets, pas le nombres de caractères) etc.
(c'est le même problème dans 0.001% des cas avec Windows toutefois, car c'est que UTF-16, les plages >0x7FFF étant sur 2 fois 2 octets).
Bref, pour le traitement de caractères, UTF-16/32 a plein d'avantages (perf etc...)
par contre sous Linux utiliser UTF-16 ou UTF-32 j'ai plus de mal a comprendre:
* Java utilise UTF-16 (ou UCS-2 je ne sais plus), donc pour un binding c'est mieux
* UCS-4 /UTF-32 est la norme habituelle de Linux pour Unicode. J'avoue avoir du mal à comprendre le choix d'UTF-16 pour les compilations Linux du coup.
cela ne me parait pas optimal.
UTF-16/32 est loin d'être optimal aussi pour certaines choses. Il y a des avantages et des inconvénients que ce soit UTF-8 ou UCS-4, faut choisir entre les inconvénients. Le choix est loin d'être simple.
En C/C++, du coup on laisse le choix au programmeur plutôt que de lui forcer la main.
[^] # Re: Trollons peu trollons bien
Posté par Zenitram (site web personnel) . En réponse à la dépêche Sortie de Python 3.0 version finale. Évalué à 3.
Avec UTF-8, tu as plein de merdes : tu coupes là ou il ne faut pas et hop tu as des octets invalides, ça rame pour compter (strlen() comptent le nombre d'octets, pas le nombres de caractères) etc.
(c'est le même problème dans 0.001% des cas avec Windows toutefois, car c'est que UTF-16, les plages >0x7FFF étant sur 2 fois 2 octets).
Bref, pour le traitement de caractères, UTF-16/32 a plein d'avantages (perf etc...)
par contre sous Linux utiliser UTF-16 ou UTF-32 j'ai plus de mal a comprendre:
* Java utilise UTF-16 (ou UCS-2 je ne sais plus), donc pour un binding c'est mieux
* UCS-4 /UTF-32 est la norme habituelle de Linux pour Unicode. J'avoue avoir du mal à comprendre le choix d'UTF-16 pour les compilations Linux du coup.
cela ne me parait pas optimal.
UTF-16/32 est loin d'être optimal aussi pour certaines choses. Il y a des avantages et des inconvénients que ce soit UTF-8 ou UCS-4, faut choisir entre les inconvénients. Le choix est loin d'être simple.
En C/C++, du coup on laisse le choix au programmeur plutôt que de lui forcer la main.