pub fn decodedLen(b64_len: usize, variant: Variant) !usize b64_len: usizevariant: Variant177
178
179
180
181
182
183
184
185
186
187 pub fn decodedLen(b64_len: usize, variant: Variant) !usize {
var result = b64_len / 4 * 3;
const leftover = b64_len % 4;
if (variant.padding) {
if (leftover % 4 != 0) return error.InvalidPadding;
} else {
if (leftover % 4 == 1) return error.InvalidPadding;
result += leftover * 3 / 4;
}
return result;
}
Returns the maximum possible decoded size for a given input length - The actual length may be less if the input includes padding.
InvalidPaddingis returned if the input length is not valid.