import java.util.Base64;
import java.nio.charset.StandardCharsets;
// Disponível desde Java 8
String textoOriginal = "Olá Mundo!";
// Encode
String textoEncoded = Base64.getEncoder()
.encodeToString(textoOriginal.getBytes(StandardCharsets.UTF_8));
// Decode
byte[] decodedBytes = Base64.getDecoder().decode(textoEncoded);
String textoDecoded = new String(decodedBytes, StandardCharsets.UTF_8);
// Funções robustas para lidar com UTF-8 (acentos, emojis)
function robustBtoa(str) {
// btoa falha com UTF-8, por isso convertemos
return btoa(unescape(encodeURIComponent(str)));
}
function robustAtob(str) {
// atob descodifica para uma string binária, que revertemos
return decodeURIComponent(escape(atob(str)));
}
const textoOriginal = "Olá Mundo! 👋";
// Encode
const textoEncoded = robustBtoa(textoOriginal);
// Decode
const textoDecoded = robustAtob(textoEncoded);
import base64
texto_original = "Olá Mundo!"
# Encode
# 1. Converter string para bytes (UTF-8)
# 2. Codificar bytes para Base64 (que retorna bytes)
# 3. Descodificar bytes Base64 para string (para poder ser impressa)
texto_encoded = base64.b64encode(texto_original.encode('utf-8')).decode('utf-8')
# Decode
# 1. Converter string Base64 para bytes
# 2. Descodificar Base64 para os bytes originais
# 3. Descodificar os bytes originais para string (UTF-8)
texto_decoded = base64.b64decode(texto_encoded.encode('utf-8')).decode('utf-8')
using System;
using System.Text;
string textoOriginal = "Olá Mundo!";
// Encode
byte[] bytesParaEncode = Encoding.UTF8.GetBytes(textoOriginal);
string textoEncoded = Convert.ToBase64String(bytesParaEncode);
// Decode
byte[] bytesParaDecode = Convert.FromBase64String(textoEncoded);
string textoDecoded = Encoding.UTF8.GetString(bytesParaDecode);
package main
import (
"encoding/base64"
"fmt"
)
func main() {
textoOriginal := "Olá Mundo!"
// Encode
textoEncoded := base64.StdEncoding.EncodeToString([]byte(textoOriginal))
fmt.Println(textoEncoded)
// Decode
decodedBytes, err := base64.StdEncoding.DecodeString(textoEncoded)
if err != nil {
fmt.Println("Erro a descodificar:", err)
return
}
textoDecoded := string(decodedBytes)
fmt.Println(textoDecoded)
}
require 'base64'
texto_original = "Olá Mundo!"
# Encode
# (O encode standard lida bem com UTF-8)
texto_encoded = Base64.encode64(texto_original)
# Decode
texto_decoded = Base64.decode64(texto_encoded)