Utiliser gnupg (gpg) “à la place de” uuencode
Certains l’auront peut être remarqué, certaines grandes distribution (dont au moins ubuntu 6.06) intègrent gnupg (ou gpg) dans l’installation par défaut mais pas uuencode (tout du moins pas forcément le programme nommé uuencode lui même).
Sans installer quoique ce soit de plus, une possibilité assez simple est souvent d’utiliser gpg “à la place de” uuencode, c’est à dire comme une alternative (les deux méthodes n’étant pas compatibles directement entre elles).
En fait il s’agit d’utiliser gnupg sans la moindre clé que ce soit (même pas avec une clé symétrique défini par une passphrase transmise avec le fichier).
Pour encoder, il suffit de taper:
gpg -a --store chemin/nom_du_fichier.ext
(Cela produira en sortie chemin/nom_du_fichier.ext.asc)
Pour décoder, c’est encore plus simple:
gpg chemin/nom_du_fichier.ext.asc
(Cela produira en sortie le fichier original chemin/nom_du_fichier.ext)
Bien sûr gpg étant tellement plus puissant, on est vite tenté d’en profiter pour en faire bien plus, ajouter une signature numérique et/ou crypter le contenu de manière symétrique ou asymétrique, c’est normal…
Note: pour les plus curieux des techniques d’encodage de fichiers binaires sous une forme permettant de conserver leur intégrité sur un moyen destiné à ne transmettre que du texte, base64 (utilisé notamment dans le standard MIME utilisé par les emails) sera aussi observé…

À confirmer mais il me semble que ta solution produit du base64 et non du uuencode (en -très- gros, du base128).
En effet, lorsque je regarde le résultat, j’ai les caractères ‘+’ ‘/’ et ‘=’ mais aucun autre caractère non-alphabétique.
Et ce sont les 3 seuls à faire partie de base64.
En fait c’est une alternative quand on a le même souci (pouvoir transmettre un fichier binaire sur un moyen non prévu pour ça, je ne rentrerais pas dans les détails…).
L’utilisation de gpg tel que décrit n’est pas fait pour être compatible avec uuencode/uudecode, ni avec base64. (D’où les guillemets dans le titre…)
Après je crois que effectivement “gpg -a” utilise base64,(ce qui implique pour les détails le jeu de caractères spécifique à base64 et non celui lié à uuencode), ceci dit ce n’est pas comme si base64 était appliqué directement au fichier. Pour rappel “gpg –store” (sans le “-a”) ne produit pas comme résultat le fichier inchangé (ceci dit on peut ré-obtenir le fichier de départ de la même façon qu’indiqué dans le post).
Après la question qui se pose est “que faut-il utiliser pour encoder?”. Ce post n’y répond pas, il indique juste un moyen utile quand on sait que pas mal de distrib linux sont livrées avec gpg installé par défaut…
Sinon comme alternative il y a aussi les shell archives… (avec shar: cf http://en.wikipedia.org/wiki/Shar )
Pour ceux vraiment curieux quant au format utilisé avec l’opton “–armor” (ou “-a”): http://tools.ietf.org/html/rfc2440