decodeData method
Encodes the given part
text.
Implementation
@override
Uint8List decodeData(final String part) {
var cleaned = part.replaceAll('\r\n', '');
var numberOfRequiredPadding =
cleaned.length % 4 == 0 ? 0 : 4 - cleaned.length % 4;
if (numberOfRequiredPadding > 0 && cleaned.endsWith('=')) {
cleaned = cleaned.substring(0, cleaned.length - 1);
numberOfRequiredPadding =
cleaned.length % 4 == 0 ? 0 : 4 - cleaned.length % 4;
}
if (numberOfRequiredPadding > 0) {
final buffer = StringBuffer(cleaned);
var paddingRequired = true;
while (paddingRequired) {
buffer.write('=');
numberOfRequiredPadding--;
paddingRequired = numberOfRequiredPadding > 0;
}
cleaned = buffer.toString();
}
return base64.decode(cleaned);
}