Sample code for 30+ languages & platforms
Zig

Re-Encode (How to convert encodings)

See more Encryption Examples

Demonstrates how to convert a string from one encoding to another.

Chilkat Zig Downloads

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

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    const crypt = try chilkat.Crypt2.init();
    defer crypt.deinit();

    // Here are some bytes as a hex string
    var hex: [:0]const u8 = "4142434445462140232425";

    // The ReEncode method converts a string from one encoding to another.
    // Valid encodings are "url", "base64", "qp", "hex", "modbase64", "base64url", "base32", "base58",
    // and any of the encodings listed here:  http://cknotes.com/chilkat-binary-encoding-list/

    // Convert from hex to base64
    const b64 = try crypt.reEncode(alloc, hex, "hex", "base64");
    std.debug.print("base64: {s}\n", .{b64});

    // Convert from base64 to base32
    const b32 = try crypt.reEncode(alloc, b64, "base64", "base32");
    std.debug.print("base32: {s}\n", .{b32});

    // Convert from base32 back to hex
    hex = try crypt.reEncode(alloc, b32, "base32", "hex");
    std.debug.print("hex: {s}\n", .{hex});
}