Journal Support des encodages "multi-byte" dans zsh ! \o/

Posté par  (site web personnel, Mastodon) .
Étiquettes :
0
17
août
2005
Cher journal,

Je viens de lire cette nouvelle :
http://xana.scru.org/quanks/multibytezle.html(...)

Et cela m'a fait exploser de joie !

(et là je me dis qu'il faut quand même être un peu geek pour éprouver de la joie en lisant un tel truc).


Pour ceux qui utilisent zsh, c'est énooooorme ! Pour ceux qui n'utilisent pas zsh, ils ne peuvent pas comprendre combien nous avons souffert.

Zsh c'est un shell qu'il est bien car alexis de lattre l'utilisait dans sa formation debian et que je l'utilise toujours, j'ai même pas touché à la config :-)
  • # Le bash-user que je suis...

    Posté par  (site web personnel) . Évalué à 5.

    ... se demande bien de quoi tu parles.

    Pourrais-tu un peu expliciter ? Parce que là j'y pige fichtrement rien, c'est quoi ces encodages ?

    En tous cas, content pour toi xD
    • [^] # Re: Le bash-user que je suis...

      Posté par  . Évalué à 6.

      En fait c'est que dès que le système est configuré pour utiliser un encodage multi-byte (genre UTF-8), ta console envoie 2 caractères pour les caractères accentués.
      Or ZSH n'étant pas multi-byte aware, lorsque tu revenais en arrière dans le tampon, le curseur pouvait se retrouver entre les deux octets de ton caractère. D'où un décalage de curseur (je crois effacer le 'a' de saucée, en fait j'efface le 'u', je crois effacer le 'é' j'efface le demi-caractère).

      Bref un bug suant...
  • # Cool, mais il y en a encore qui l'utilisaient???

    Posté par  (site web personnel) . Évalué à 3.

    Je ne l'utilise pas, mais la je tombe des nues : un truc qui ne supporte pas le multi-byte alors que la moitié de la population mondiale (Chine, Japon, ... bref le continent asiatique) utilise le multi-byte, pfff...

    Ou alors j'ai rien compris, comme pas mal de monde ici :)

    Et vive l'UTF-8 :)
    • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

      Posté par  . Évalué à 4.

      Oui ! vive l'utf8 ! il devrait y avoir une loi pour imposer l'utf8.

      Mieux, il faudrait un neurotruc de men-in-black qui efface la mémoire des charsets iso de toute la population mondiale! (à travers LCD et CRT ce serait top)
      • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

        Posté par  . Évalué à 2.

        Et pour moi, modeste utilisateur de base, c'est quoi l'intérêt de passer à l'UTF8 ?
        • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

          Posté par  . Évalué à 3.

          aucun mis à part pour les langues asiatiques qui de toutes façon doivent utiliser des encodages sur 16bits et pour qui UTF-16 est plus adapté. je passe bien sur les problème de compatibilité avec les libs existante (on doit prendre en compte les locales ....), besoin d'utiliser des fonctions "UTF-8-aware" ... bref, perso, je suis très content avec mon iso-8859-15 et je suis pas près de changer.
          • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

            Posté par  . Évalué à 3.

            Plus que langue Asiatiques, il y aussi l'ancien Grec: c'est mieux pour connaitre l'etymologie du mot
          • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

            Posté par  . Évalué à 2.

            Ben vous, vous vous en foutez peut-être, mais pour les gens qui doivent combiner des caractères asiatiques et des accents français dans le même texte (oui, ma copine est chinoise, ça aide à en avoir besoin...), et ben l'utf-8, c'est génial (et à ma connaissance, le multi-octet -ça se dit comme ça en français??- en utf-8 est suffisant pour les langues asiatiques, qu'est-ce qui te fait dire -par simple curiosité, il n'y a rien d'agressif dans cette question- qu'ils doivent utiliser l'utf-16?)
            Alors ok, t'en as pas besoin, mais je pense qu'on ne devrait pas avoir besoin non plus de tenir compte de 54 encodages en permanence alors qu'un seul peut maintenant satisfaire tous les besoins et qu'il commence à être suffisamment populaire pour que toutes les applis le supportent ou prévoient de le supporter.
            • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

              Posté par  . Évalué à 2.

              Si j'ai bien compris, pour les caractères chinois, l'UTF-8 est moins optimale que l'UTF-16 : un caractère sera codé sur plus de 2 octets alors qu'UTF-16 éviterait ce gaspillage.
              En contrepartie, l'UTF-8 est compatible ASCII et arrange bien les occidentaux.
              • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

                Posté par  (site web personnel) . Évalué à 2.

                oui, mais utf-16 utilise deux caractères pour tout, alors qu'utf-8 se contente d'un pour l'anglais et la plupart des caractères européens. Donc quoi que tu choisisses, ce ne sera jamais parfait dans tous les cas.
                • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

                  Posté par  (site web personnel) . Évalué à 3.

                  Rectification sur UTF-16 : il utilises de 2 a 4 octets (et non caracteres), suivant le caractere choisi
                  UTF-8 utilse de 1 a 4 octets.

                  C'est UCS-2 qui est sur 2 octets, mais il ne peut pas gerer tous les caracteres.

                  Avantages UTF-8 :
                  - pour les ricain et les latins, c'est celui qui prend le moins de place
                  - compatibles avec tous les protocoles de transport existant
                  - pas de probleme Big endian ou Little Endian

                  Avantages UTF-16
                  - pour le reste du monde, c'est celui qui prend le moins de place (les caracteres asiatiques sont souvent sur 3 octets en UTF-8, et seulement 2 en UTF-16)

                  Oui, ce ne sera jamais parfait, mais un statut-quo semble sortir : UTF-8 pour le stockage et le transport, et UTF-16 (sous Windows, UTF-32 / UCS-4 generalement sous Linux) pour la gestion en interne des programmes (mais il semble que GTK reste en UTF-8, bref c'est pas encore un statut-quo, mais on s'en fout : c'est de l'interne à la machine!).
                  Ca gonfle le stockage asiatique/russe/grec etc... mais c'est la "moins pire" des solutions...
        • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

          Posté par  . Évalué à 3.

          Ca te permet d'éviter des emmerdes entre les différentes langues : avec les systemes ISO deux suites de 8 bits identiques peuvent représenter deux caractères différents alors que ce n'est pas possible avec l'unicode (utf8/16/32).

          La problème c'est que ca pose rarement problème aux utilisateurs, c'est pourquoi la migration est longue et on a affaire à des réactionnaires comme ci dessous ;)

          Mais ce système ne peut que rendre service, surtout dans des systèmes pas super pour l'interopérabilité : exemple : mes partitions fat pour windows et linux sont en utf8. Mais un des logiciel suporte mal l'encodage et m'affiche n'importe quoi à la place des accents (particulièrement pour les trucs du style björk). Il n'y aurait pas de problème si plus de gens utilisaient l'utf8 - tout le monde le suporterais.

          PS : il y a d'autres exemples, par exemple sur IRC un personne peu vouloir discuter avec des grecs et des francais, bah c'est pas le même charset ISO donc un bordel de configuration.
        • [^] # Re: Cool, mais il y en a encore qui l'utilisaient???

          Posté par  (site web personnel) . Évalué à 2.

          Ca sert a ne pas se prendre la tete avec les locales (c'est chiant), mais aussi a pouvoir ecrire en deux langue dans un texte.

          Certes, si tu reste dans ton franco-francais (ou pays latins, merci la locale latine, ouf :) ), ca ne change rien, mais le monde evolue, et mettre du grec ou du russe avec du francais, ca se fait par de plus en plus de gens...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.