Base64 según RFC 4648 convierte cada bloque de tres bytes en cuatro caracteres ASCII usando A-Z, a-z, 0-9, + y /. El último bloque incompleto se rellena con = para transportar bytes arbitrarios en formatos de texto.
Usa Base64 para adjuntos MIME, campos JSON, certificados o Data URLs que deban contener bytes como texto. Aumenta el tamaño cerca de un 33 % y no comprime, cifra ni comprueba la integridad; este decodificador exige el alfabeto estándar y un relleno válido.
# Encoding
echo -n "Hello, World!" | base64
# Output: SGVsbG8sIFdvcmxkIQ==
# Decoding
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d
# Output: Hello, World!
// Encoding
let encoded = btoa("Hello, World!");
console.log(encoded);
// Output: SGVsbG8sIFdvcmxkIQ==
// Decoding
let decoded = atob("SGVsbG8sIFdvcmxkIQ==");
console.log(decoded);
// Output: Hello, World!
package main
import (
"encoding/base64"
"fmt"
)
func main() {
// Encoding
encoded := base64.StdEncoding.EncodeToString([]byte("Hello, World!"))
fmt.Println(encoded)
// Output: SGVsbG8sIFdvcmxkIQ==
// Decoding
decoded, _ := base64.StdEncoding.DecodeString("SGVsbG8sIFdvcmxkIQ==")
fmt.Println(string(decoded))
// Output: Hello, World!
}
// Encoding
$encoded = base64_encode("Hello, World!");
echo $encoded ."\n";
// Output: SGVsbG8sIFdvcmxkIQ==
// Decoding
$decoded = base64_decode("SGVsbG8sIFdvcmxkIQ==");
echo $decoded . "\n";
// Output: Hello, World!