base642bin static method

Uint8List base642bin(
  1. String b64, {
  2. String? ignore,
  3. int variant = base64VariantOriginal,
})

Implementation

static Uint8List base642bin(String b64,
    {String? ignore, int variant = base64VariantOriginal}) {
  final _bin = calloc<Uint8>(b64.length);
  final _b64 = b64.toNativeUtf8();
  final _ignore = ignore == null ? nullptr : ignore.toNativeUtf8();
  final _binlen = calloc<Uint8>(4);
  try {
    _sodium
        .sodium_base642bin(_bin, b64.length, _b64, _b64.length, _ignore,
            _binlen, nullptr, variant)
        .mustSucceed('sodium_base642bin');

    final binlen =
        _binlen.toList(4).buffer.asByteData().getUint32(0, Endian.host);
    return _bin.toList(binlen);
  } finally {
    calloc.free(_bin);
    calloc.free(_b64);
    calloc.free(_ignore);
    calloc.free(_binlen);
  }
}