MoonBit library for encoding and decoding Variable Length Quantities
// Encode unsigned integers to VLQ bytes
let numbers = [0x7FU, 0x4000U, 0x01FFFFFFU]
let encoded = to_vlq(numbers)
// encoded = [0x7F, 0x81, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0x7F]
// Decode VLQ bytes back to unsigned integers
let decoded = try! from_vlq(encoded)
// decoded = Ok([0x7F, 0x4000, 0x01FFFFFF])// Encode signed integers to Base64 VLQ string
let numbers = [1, -1, 16]
let encoded = to_base64_vlq(numbers)
// encoded = "CDgB"
// Decode Base64 VLQ string back to signed integers
let decoded = try! from_base64_vlq("CDgB")
// decoded = Ok([1, -1, 16])pub(all) enum VlqError {
Overflow
IncompleteSequence
InvalidBase64Character(Char)
}let encoded = "CDgB"
let decoded = try! from_base64_vlq(encoded)
inspect(decoded, content="Ok([1, -1, 16])")let numbers = [1, -1, 16]
let encoded = to_base64_vlq(numbers)
inspect(encoded, content="CDgB")MoonBit library for encoding and decoding Variable Length Quantities