Zig
Zig
Decompress a Base64-Encoded Gzip String
See more Gzip Examples
This example demonstrates how to use the UncompressStringENC method to decompress Gzip-compressed data that is provided as an encoded string.
The example first compresses a string and encodes the result as Base64. It then demonstrates how the Base64 string can be decoded and decompressed back into the original text.
Internally, the method performs three steps:
- The input string is decoded from the specified encoding (Base64 in this example) to obtain the compressed binary data.
- The binary data is decompressed using the Gzip algorithm.
- The resulting bytes are interpreted using the specified character set (UTF-8) to produce the final string.
This method is useful when working with compressed data embedded in text-based formats such as JSON, XML, or HTTP responses.
Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// This example demonstrates how to decompress Gzip data that is
// provided as a Base64-encoded string.
const gzip = try chilkat.Gzip.init();
defer gzip.deinit();
// First, create a compressed Base64 string for demonstration purposes:
const input_str = "The quick brown fox jumps over the lazy dog.";
gzip.setFilename("quickBrownFox.txt");
const compressed_base64 = gzip.compressStringENC(alloc, input_str, "utf-8", "base64") catch {
std.debug.print("{s}\n", .{try gzip.getLastErrorText(alloc)});
return;
};
std.debug.print("Compressed (Base64): {s}\n", .{compressed_base64});
// Now decompress the Base64-encoded Gzip string:
const decompressed = gzip.uncompressStringENC(alloc, compressed_base64, "utf-8", "base64") catch {
std.debug.print("{s}\n", .{try gzip.getLastErrorText(alloc)});
return;
};
std.debug.print("Decompressed string:\n", .{});
std.debug.print("{s}\n", .{decompressed});
}