Codificación - decodificación Base64 en Windows, Linux y Mac
Cuando necesitas urgentemente codificar un archivo a base64
Aquí tienes ejemplos de cómo Codificar y decodificar un archivo a Base64 en Windows, Linux y Mac.
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
-
Abre el Prompt de comandos.
-
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
). -
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
- Abre PowerShell.
- Ejecuta el siguiente comando:
Reemplaza
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("your_file_path"))
"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
-
Abre un terminal.
-
Ejecuta el siguiente comando:
base64 input_file > output_file
Reemplaza
input_file
con la ruta de tu archivo youtput_file
con el nombre del archivo donde deseas guardar el contenido codificado en Base64.Ejemplo:
base64 myfile.txt > encoded.txt
-
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
-
Abre el Terminal.
-
Ejecuta el siguiente comando:
base64 -i input_file > output_file
Reemplaza
input_file
con la ruta de tu archivo youtput_file
con el nombre del archivo donde deseas guardar el contenido codificado en Base64.Ejemplo:
base64 -i myfile.txt > encoded.txt
-
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.
...