Vous pouvez également essayer d'utiliser
echo -n
pour supprimer les nouvelles lignes et remplir la longueur d'entrée à un multiple de 4 avec un à trois caractères égaux
=
Cette version ne décode pas (par défaut) les lignes avec des séparateurs, mais l'encodeur le fait par défaut. (Les versions plus récentes n'ont pas ce problème.)
Une solution :
base64 -w 0 foo.zip | base64 -d > foo2.zip
Alternative :
base64 foo.zip | base64 -di > foo2.zip
Le -i
option signifie (du man
page):
-i, --ignore-garbage
When decoding, ignore non-alphabet characters.
[...]
Decoding require compliant input by default, use --ignore-garbage to
attempt to recover from non-alphabet characters (such as newlines)
Ou encore plus simplement
base64 -di foo.zip > foo2.zip
Si vous faites cela sur un mac, votre version de base64
pourrait ne pas avoir la flexibilité nécessaire pour gérer les ordures ignorées. Si vous brassez installez coreutils
, vous aurez le gbase64
utilitaire et utilisez-le comme Joe l'a décrit.