C'est vrai que c'est un véritable avantage quand tu veux retrouver le 6054ème caractère de savoir qu'il est entre les 6054ème et 36324 octets.
C'est un argument souvent avancé contre UTF8 mais comme le dis Robert O'Callahan[1], quels sont les cas d'utilisation réels d'accès aléatoire à un caractère donné ? Le plus souvent, les algos de recherche sont plutôt itératifs (recherche de sous chaînes). On a pris l'habitude de manipuler des chaînes comme des tableaux (héritage du C) même pour des accès séquentiels. Combien de fois écrit-on : for (i = 0; i < n; i++)
do_something(str[i]);
On se fout un peu du i en question. On balaye la chaîne. C'était juste le seul moyen d'écrire ça en C vu qu'il n'y a pas d'itérateur/foreach.
[^] # Re: UTF-8 est auto-synchronisant
Posté par Croconux . En réponse à la dépêche Sortie de Gambas 3.3. Évalué à 2.
C'est un argument souvent avancé contre UTF8 mais comme le dis Robert O'Callahan[1], quels sont les cas d'utilisation réels d'accès aléatoire à un caractère donné ? Le plus souvent, les algos de recherche sont plutôt itératifs (recherche de sous chaînes). On a pris l'habitude de manipuler des chaînes comme des tableaux (héritage du C) même pour des accès séquentiels. Combien de fois écrit-on :
for (i = 0; i < n; i++)
do_something(str[i]);
On se fout un peu du i en question. On balaye la chaîne. C'était juste le seul moyen d'écrire ça en C vu qu'il n'y a pas d'itérateur/foreach.
[1] http://robert.ocallahan.org/2008/01/string-theory_08.html