Bonjour,

En contrôlant un jeu de scripts utilisant de l'encodage/décodage en base64, j'ai l'impression d'avoir trouvé un bug avec le programme "uudecode" sur un serveur Aix.

Si je prends la bête séquence "azer" sans retour à la ligne (ce sont les premières touches du clavier ...), et que je l'encode en base 64 avec la commande "uuencode" avec l'option "-m", j'obtiens cette séquence :

YXplcg==

En faisant manuellement la conversion, j'obtiens le même résultat.

Mais si je décode cette séquence avec "uudecode" (en rajoutant bien l'en-tête "begin-base64 ..." et une séquence "====" ligne suivant"), je perd la dernière lettre dans le fichier obtenu !

Même problème avec d'autres séquences de 4, 7, 13 ... lettres.

Ça me parait aberrant de trouver un bug si simple avec une commande de base d'un Unix.

J'ai récupéré les sources et compilé la version GNU de cette commande (sharutils-4.11.tar.bz2), et à partir de la même séquence en base64, j'obtiens bien mes données initiales !

Je constate la même chose sur un Aix 5.2 et un Aix 6.1.

Quelqu'un pourrait faire la même chose sur un serveur Aix, pour voir s'il constate le même problème ?

C'est tellement gros que j'ai du mal à croire que personne n'ait constaté un tel bug avant moi. Ou alors, c'est que ces commandes ne servent plut du tout (la plupart des codage/décodage en base64 se faisant coté applis, donc par du code Java ou des bibliothèques différentes).