• # Problème de niveaux

    Posté par . En réponse au journal utf8 puxor. Évalué à 10.

    Il y a trois niveaux dans le systeme :
    1) Le logiciel qui interprete (ton shell)
    2) Le conteneur de chaine (UTF-8)
    3) L'encodage des caractères (UNICODE)
    Dans ton problème c'est 1) qui merde car il gère mal 3) et toi tu accuse 2).

    L'UTF8 est un très bon conteneur pour l'UNICODE avec énormément d'avantages. Le problème est qu'il n'est pas toujours bien utilisé.

    Mais bon, la source principale de ce problème est la complexité d'UNICODE qui traine derière lui une longue histoire et donc des problèmes de compatibilités. Lorsque l'ASCII à été défini, ils ont définit la position des caractères alphabétiques de manière à pouvoir réaliser plein d'opérations courrantes de manière simple.
    Maintenant que tout le monde se préoccupe un peu plus du reste du monde, il y a un peu plus de caractères alphabétiques et il n'est plus vraiment possible de faire les choses aussi simplement. Le problème est que tout le monde reste habitué à la manière simple de gérer les choses.
    Je ne compte pas le nombre de programe que je vois faire un test sur des bits à la place d'un isupper (ou plutôt d'un wisupper).

    L'exemple que tu donne montre deux bugs : le premier viens de bash qui ne fait pas ce qu'on lui demande, mais le second viens de ce que tu lui demande. Utiliser [A-Z] pour tester une majuscule c'est aller au devans des ennuis dans tous les cas.