decodeBase64 function

String decodeBase64(
  1. String str
)

Calls BASE64URL, but also works for strings with lengths that are not multiples of 4.

Implementation

String decodeBase64(String str) {
  var output = str.replaceAll('-', '+').replaceAll('_', '/');

  switch (output.length % 4) {
    case 0:
      break;
    case 2:
      output += '==';
      break;
    case 3:
      output += '=';
      break;
    default:
      throw 'Illegal base64url string!"';
  }

  return utf8.decode(base64Url.decode(output));
}