Codificación - decodificación Base64 en Windows, Linux y Mac

Cuando necesitas urgentemente codificar un archivo a base64

Índice

Aquí tienes ejemplos de cómo Codificar y decodificar un archivo a Base64 en Windows, Linux y Mac.

hombre barbado realizando algún código avanzado de noche

Convertir un archivo a Base64 en Windows

Para convertir un archivo ordinario a Base64 en Windows, se pueden usar los siguientes métodos:

Usando el Prompt de comandos con Certutil

  1. Abre el Prompt de comandos.

  2. Ejecuta el siguiente comando:

    certutil -encode  
    

    Reemplaza con la ruta de tu archivo y con el nombre de archivo de salida deseado (por ejemplo, encoded.b64).

  3. Para mostrar el contenido Base64 directamente en la pantalla sin guardar en un archivo temporal:

    certutil -encode  tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64
    

    Esto evita dejar archivos temporales eliminando tmp.b64 después del procesamiento.


Usando PowerShell

  1. Abre PowerShell.
  2. Ejecuta el siguiente comando:
    [Convert]::ToBase64String([System.IO.File]::ReadAllBytes("your_file_path"))
    
    Reemplaza "your_file_path" con la ruta completa de tu archivo. Esto mostrará la cadena Base64 directamente en la consola.

Usando un script personalizado

Si necesitas más flexibilidad, puedes usar un script como ConvertTo-Base64.ps1. Permite codificar archivos a Base64 y, opcionalmente, guardar la salida en un archivo o formatearla como JSON.


Estos métodos permiten una codificación rápida y eficiente de Base64 sin requerir instalaciones adicionales de software.

Convertir un archivo a Base64 en Linux

Para convertir un archivo binario a Base64 en Linux, puedes usar el comando base64, que normalmente está preinstalado en la mayoría de las distribuciones de Linux. Este método es mucho mejor comparado con Windows! :)

Aquí te explico cómo hacerlo:

Sintaxis básica

base64 [OPTIONS] [FILE]

Pasos para codificar un archivo

  1. Abre un terminal.

  2. Ejecuta el siguiente comando:

    base64 input_file > output_file
    

    Reemplaza input_file con la ruta de tu archivo y output_file con el nombre del archivo donde deseas guardar el contenido codificado en Base64.

    Ejemplo:

    base64 myfile.txt > encoded.txt
    
  3. Si deseas mostrar el contenido codificado directamente en la terminal:

    base64 input_file
    

Banderas opcionales

  • -w : Envuelve líneas después de un número especificado de caracteres (por defecto es 76). Usa -w 0 para deshabilitar el envoltura de líneas. Ejemplo:
    base64 -w 0 input_file > output_file
    

Decodificar un archivo Base64

Para decodificar un archivo codificado en Base64 de vuelta a su formato original:

base64 --decode encoded_file > decoded_file

Este método es eficiente y funciona en la mayoría de las distribuciones de Linux sin requerir instalaciones adicionales.

Codificar / Decodificar Base64 en Mac

Este método es similar al de Linux, pero tiene algunas diferencias.

Para convertir un archivo ordinario a Base64 en macOS, puedes usar el comando base64 integrado. Aquí te explico cómo:

Pasos para codificar un archivo

  1. Abre el Terminal.

  2. Ejecuta el siguiente comando:

    base64 -i input_file > output_file
    

    Reemplaza input_file con la ruta de tu archivo y output_file con el nombre del archivo donde deseas guardar el contenido codificado en Base64.

    Ejemplo:

    base64 -i myfile.txt > encoded.txt
    
  3. Si deseas mostrar el contenido codificado en Base64 directamente en la terminal:

    base64 -i input_file
    

Integración opcional con el portapapeles

Puedes codificar un archivo y copiar el resultado directamente a tu portapapeles usando:

base64 -i input_file | pbcopy

Decodificar un archivo Base64

Para decodificar un archivo codificado en Base64 de vuelta a su formato original:

base64 -D -i encoded_file > decoded_file

Estos comandos son eficientes y funcionan en todas las versiones modernas de macOS desde la 10.7.

Lista completa de parámetros de la herramienta base64

$ base64 --help

Uso: base64 [OPCIÓN]... [ARCHIVO]
Codifica o decodifica ARCHIVO, o la entrada estándar, a la salida estándar.

Sin ARCHIVO, o cuando ARCHIVO es -, se lee la entrada estándar.

Argumentos obligatorios para opciones largas son obligatorios para opciones cortas también.
  -d, --decode          decodificar datos
  -i, --ignore-garbage  al decodificar, ignorar caracteres no alfabéticos
  -w, --wrap=COLS       envolver líneas codificadas después de COLS caracteres (por defecto 76).
                          Usar 0 para deshabilitar el envoltura de líneas
      --help        mostrar esta ayuda y salir
      --version     mostrar información de versión y salir

Los datos se codifican como se describe para el alfabeto base64 en RFC 4648.
Al decodificar, la entrada puede contener nuevas líneas además de los bytes del alfabeto base64 formal.  Usar --ignore-garbage para intentar recuperarse de cualquier otro byte no alfabético en el flujo codificado.
...

Enlaces útiles