eligrubb/zig-bech32
An implementation of Bech32 from BIP 173, updated for Zig 0.14.1 & nightly
A Zig implementation of Bech32 and Bech32m encoding/decoding as specified in BIP-173 and BIP-350.
Requires Zig 0.14.0+.
zig fetch --save git+https://github.com/eligrubb/zig-bech32.git
const bech32 = @import("bech32");
// Encoding
const hrp = "ziglang";
const data = [_]u8{ 0xde, 0xad, 0xbe, 0xef };
const enc = bech32.Encoding.bech32m;
var buf: [bech32.max_string_size]u8 = undefined;
const str = bech32.standard.Encoder.encode(&buf, hrp, data, enc);
// Decoding
var data_buf: [bech32.max_data_size]u8 = undefined;
const res = try bech32.standard.Decoder.decode(&data_buf, str);
zig build test
A Bech32 string consists of:
Maximum string length is 90 characters.