Zig
Zig
Decode 2-digit Hex Escaped
See more HTML-to-XML/Text Examples
Demonstrates how to replace escaped us-ascii chars such as \x7b and \x22 with the chars.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// We have the following string with some us-ascii chars escaped like this:
const s = "\x7b\x22responseContext\x22:\x7b\x22";
// Note: The above escaping does not conform to any standard format (as far as I know).
// Chilkat does not have anything to decode from the above.
// However, we can 1st transform into a standard format, and then decode..
// JSON escapes chars outside us-ascii like this: "Hello, \ud83d\ude03!"
// We can transform the above to this: "\u007b\u0022responseContext\u0022:\u007b\u0022"
// And then decode..
const sb = try chilkat.StringBuilder.init();
defer sb.deinit();
sb.append(s) catch {};
_ = sb.replace("\\x", "\\u00");
// Now decode from "json" escapes
sb.decode("json", "utf-8") catch {};
// Show the decoded string
std.debug.print("{s}\n", .{try sb.getAsString(alloc)});
// Here's the result: {"responseContext":{"
}