GNU/Linux >> Tutoriels Linux >  >> Linux

décoder base64 :entrée invalide

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.


Linux
  1. Extracteurs universels ?

  2. Grep :Contenu non valide de {} ?

  3. Encodage d'un fichier Zip ?

  4. Dd :plusieurs fichiers d'entrée ?

  5. Commande zip Linux

Comment taper emoji sur Linux

Comment utiliser Décompresser sous Linux

Comment décompresser des fichiers sous Linux

Explication de la redirection d'entrée-sortie sur Linux

Comment compresser plusieurs fichiers sous Linux

Comment compresser un dossier sous Linux