Sample code for 30+ languages & platforms
Zig

Decode utf-8 Hex to a String

Converts a hex-encoded utf-8 bytes to a string.

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();

    const sb = try chilkat.StringBuilder.init();
    defer sb.deinit();

    // Append the hex.  The hex can be uppercase hex or lowercase hex, it doesn't matter.
    try sb.append("D79ED795D7A6D7A8");

    // Notice the above string contains Hebrew chars using the utf-8 byte representation.
    // See https://www.loc.gov/marc/specifications/codetables/BasicHebrew.html
    // For example:  D79E is the HEBREW LETTER MEM

    // Therefore, when we decode to binary bytes, we must interpret the bytes as utf-8
    // to get characters.

    // Tell Chilkat to URL decode like this:
    try sb.decode("hex", "utf-8");

    // sb now contains the decoded string.
    std.debug.print("{s}\n", .{try sb.getAsString(alloc)});
}