在Dart中,可以使用dart:convert
库中的base64
类来将base64字符串URL解码或转换为Uint8List。下面是一个完整的示例代码:
import 'dart:convert';
void main() {
String base64Url = 'SGVsbG8gd29ybGQh'; // 示例base64字符串URL
Uint8List decodedData = base64UrlToUint8List(base64Url);
print(decodedData);
}
Uint8List base64UrlToUint8List(String base64Url) {
String base64String = base64Url.replaceAll('-', '+').replaceAll('_', '/');
while (base64String.length % 4 != 0) {
base64String += '=';
}
List<int> decodedBytes = base64UrlSafe.decode(base64String);
return Uint8List.fromList(decodedBytes);
}
在上面的代码中,我们首先定义了一个base64字符串URL,然后调用base64UrlToUint8List
函数将其转换为Uint8List。该函数首先将base64字符串URL中的字符替换为标准的base64字符,然后根据base64字符串的长度进行填充,最后使用base64UrlSafe.decode
方法将其解码为字节列表,并通过Uint8List.fromList
方法将其转换为Uint8List。
请注意,为了运行上述代码,您需要在代码中导入dart:convert
和dart:typed_data
库:
import 'dart:convert';
import 'dart:typed_data';
这样,您就可以在Dart中将base64字符串URL解码或转换为Uint8List了。
领取专属 10元无门槛券
手把手带您无忧上云