Codificacion Base64

Codificar datos binarios a strings base64 y decodificar base64 de vuelta a binario. Usa codificacion base64 estandar segun RFC 4648.

Carga

local base64 = require("base64")

Codificacion

Codificar Datos

Codifica un string (incluyendo datos binarios) a base64.

-- Codificar texto
local encoded = base64.encode("Hello, World!")
print(encoded)  -- "SGVsbG8sIFdvcmxkIQ=="

-- Codificar datos binarios (ej., desde archivo)
local image_data = fs.read_binary("photo.jpg")
local image_b64 = base64.encode(image_data)

-- Codificar JSON para transporte
local json = require("json")
local payload = json.encode({user = "alice", action = "login"})
local token_part = base64.encode(payload)

-- Codificar credenciales
local credentials = base64.encode("username:password")
local auth_header = "Basic " .. credentials
Parámetro Tipo Descripción
data string Datos a codificar (texto o binario)

Devuelve: string, error - Entrada string vacia devuelve string vacio.

Decodificacion

Decodificar Datos

Decodifica un string base64 de vuelta a datos originales.

-- Decodificar texto
local decoded = base64.decode("SGVsbG8sIFdvcmxkIQ==")
print(decoded)  -- "Hello, World!"

-- Decodificar con manejo de errores
local data, err = base64.decode(user_input)
if err then
    return nil, errors.new("INVALID", "Invalid base64 data")
end

-- Decodificar datos binarios
local image_b64 = request.body
local image_data, err = base64.decode(image_b64)
if err then
    return nil, err
end
fs.write_binary("output.jpg", image_data)

-- Decodificar partes de JWT
local parts = string.split(jwt_token, ".")
local header = json.decode(base64.decode(parts[1]))
local payload = json.decode(base64.decode(parts[2]))
Parámetro Tipo Descripción
data string String codificado base64

Devuelve: string, error - Entrada string vacia devuelve string vacio.

Errores

Condición Tipo Reintentable
Entrada no es string errors.INVALID no
Caracteres base64 invalidos errors.INVALID no
Padding corrupto errors.INVALID no

Consulte Manejo de Errores para trabajar con errores.