convert method
Converts input
and returns the result of the conversion.
Implementation
@override
String convert(Uint8List input) {
final buffer = StringBuffer();
int bits = 0;
int value = 0;
for (int i = 0; i < input.length; i++) {
value = (value << 8) | input[i];
bits += 8;
while (bits >= 5) {
buffer.write(_alphabet[(value >> (bits - 5)) & 0x1F]);
bits -= 5;
}
}
if (bits > 0) {
buffer.write(_alphabet[(value << (5 - bits)) & 0x1F]);
}
if (_padding.isNotEmpty && (buffer.length % 8) != 0) {
buffer.write(_padding * ((buffer.length % 8) - 8).abs());
}
return buffer.toString();
}