Zig base64 encode and validated decode

Zig
const std = @import("std");

pub fn main() !void {
    var gpa = std.heap.GeneralPurposeAllocator(.{}){};
    defer _ = gpa.deinit();
    const a = gpa.allocator();
    const input = "hello zig";
    const encoded = try a.alloc(u8, std.base64.standard.Encoder.calcSize(input.len));
    defer a.free(encoded);
    const b64 = std.base64.standard.Encoder.encode(encoded, input);
    std.debug.print("{s}\n", .{b64});
    const size = try std.base64.standard.Decoder.calcSizeForSlice(b64);
    const decoded = try a.alloc(u8, size);
    defer a.free(decoded);
    try std.base64.standard.Decoder.decode(decoded, b64);
    std.debug.print("{s}\n", .{decoded});
}