Les 7 bits m'ont surpris, car ce n'est pas dans nos habituelles puissances de 2. Mais en fait, ASCII fait partie d'une époque où la mémoire et les disques étaient vraiment très cher et il valait donc vraiment mieux ne pas être trop gourmand.
As-tu lu le lien que tu pointes? Ça parle d'autres choses, comme le fait que 6 bits étaient un peu juste (pas de minuscules et beaucoup de code de contrôle) et 8 bits était pas vu comme utile pour les américains qui se foutaient du reste du monde, et surtout pas mal de monde trouvait plus utile d'utiliser le 8ème bit pour d'autres choses suivant le besoin (contrôle de parité par exemple) et du coup par exemple les serveurs mails le filtrait.
Corrigez-moi si je me trompe mais il ne me semble pas avoir lu que les développeurs "optimisaient" à l'époque en stockant 8 caractères sur 7 octets mais stockaient sur 8 octets, en tous cas je ne connais aucun format de stockage faisant ça.
Ils donnent beaucoup d'information à propos d'UTF-8 vs UTF-16 vs UTF-32 et pourquoi ils pensent que c'était inutile d'inventer wchar_t que finalement seul std::string était utile au C++3.
C'est facile en regardant l'histoire avec sa vue de maintenant, mais à une époque on pariait sur :
- qu'on resterait sur 16-bit max (d'où wchar_t sur 16-bit sous Windows)
- qu'on aurait (hormis 0x00-0x20 et 0x7F "interdits" pour les humains) que des caractères
- ça évitait une transformation (on avait en entrée du 8-bit et le charset, on transformait le tout en wchar_t pour traiter partout de la même manière)
et du coup wchar_t permettait d'accéder facilement au x-ième caractère.
Alors certes aujourd'hui il ne faut pas utiliser wchar_t mais garder en mémoire qu'avant on ne savait pas que ça irait dans une autre direction, avec UTF-8 partout pour le stockage (en acceptant une perte de stockage pour les chinois, l'histoire aurait pu dire que UTF-16 était mieux pour optimiser l'espace), plus de 16 bits et des caractères Unicode de transformation.
Ce n'était pas inutile à l'époque de son invention et où on ne savait pas comment serait le futur, c'est devenu inutile à gérer de nos jours, comme plein d'autres formats.
D'ailleurs, ton lien utf8everywhere parle surtout de promouvoir UTF-8 partout en connaissant le présent et c'est tout.
# Hum...
Posté par Zenitram (site web personnel) . En réponse au journal Vous avez dit "caractère" ?. Évalué à 5.
As-tu lu le lien que tu pointes? Ça parle d'autres choses, comme le fait que 6 bits étaient un peu juste (pas de minuscules et beaucoup de code de contrôle) et 8 bits était pas vu comme utile pour les américains qui se foutaient du reste du monde, et surtout pas mal de monde trouvait plus utile d'utiliser le 8ème bit pour d'autres choses suivant le besoin (contrôle de parité par exemple) et du coup par exemple les serveurs mails le filtrait.
Corrigez-moi si je me trompe mais il ne me semble pas avoir lu que les développeurs "optimisaient" à l'époque en stockant 8 caractères sur 7 octets mais stockaient sur 8 octets, en tous cas je ne connais aucun format de stockage faisant ça.
C'est facile en regardant l'histoire avec sa vue de maintenant, mais à une époque on pariait sur :
- qu'on resterait sur 16-bit max (d'où wchar_t sur 16-bit sous Windows)
- qu'on aurait (hormis 0x00-0x20 et 0x7F "interdits" pour les humains) que des caractères
- ça évitait une transformation (on avait en entrée du 8-bit et le charset, on transformait le tout en wchar_t pour traiter partout de la même manière)
et du coup wchar_t permettait d'accéder facilement au x-ième caractère.
Alors certes aujourd'hui il ne faut pas utiliser wchar_t mais garder en mémoire qu'avant on ne savait pas que ça irait dans une autre direction, avec UTF-8 partout pour le stockage (en acceptant une perte de stockage pour les chinois, l'histoire aurait pu dire que UTF-16 était mieux pour optimiser l'espace), plus de 16 bits et des caractères Unicode de transformation.
Ce n'était pas inutile à l'époque de son invention et où on ne savait pas comment serait le futur, c'est devenu inutile à gérer de nos jours, comme plein d'autres formats.
D'ailleurs, ton lien utf8everywhere parle surtout de promouvoir UTF-8 partout en connaissant le présent et c'est tout.