GNU/Linux >> Tutoriales Linux >  >> Linux

decodificar base64:entrada no válida

También puedes intentar usar

echo -n

para suprimir nuevas líneas y rellenar la longitud de entrada a un múltiplo de 4 con uno a tres caracteres iguales

=

Esa versión no decodificará (por defecto) líneas con separadores, pero el codificador lo hace por defecto. (Las versiones más nuevas no tienen este problema).

Una solución:

base64 -w 0 foo.zip | base64 -d > foo2.zip

Alternativo:

base64 foo.zip | base64 -di > foo2.zip

El -i opción significa (del man página):

-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)

O incluso más simplemente

base64 -di foo.zip > foo2.zip


Si está haciendo esto en una Mac, su versión de base64 podría no tener la flexibilidad para manejar ignorar la basura. Si preparas, instala coreutils , tendrás el gbase64 utilidad y utilícelo como lo ha descrito Joe.


Linux
  1. Grep:¿Contenido no válido de {}?

  2. ¿Codificación de un archivo zip?

  3. Dd:¿Múltiples archivos de entrada?

  4. Comando zip de Linux

  5. Determinar la cuota de ensayo de DFSR

Cómo escribir emoji en Linux

Cómo descomprimir archivos en Linux

Explicación de la redirección de entrada y salida en Linux

Cómo comprimir varios archivos en Linux

Cómo comprimir una carpeta en Linux

base64 -d decodifica, pero dice entrada no válida