base32ToBytes static method
Implementation
static Uint8List base32ToBytes(String base32) {
final alphabet = _base32Alphabet;
final alphabetMap = {
for (var i = 0; i < alphabet.length; i++) alphabet[i]: i,
};
int buffer = 0;
int bitsLeft = 0;
final output = BytesBuilder();
for (final char in base32.toUpperCase().split('')) {
if (!alphabetMap.containsKey(char)) {
throw ArgumentError('Invalid base32 character: $char');
}
buffer = (buffer << 5) | alphabetMap[char]!;
bitsLeft += 5;
if (bitsLeft >= 8) {
bitsLeft -= 8;
final byte = (buffer >> bitsLeft) & 0xFF;
output.addByte(byte);
}
}
return output.toBytes();
}