Функция base64Decode
Функция base64Decode декодирует строку,
закодированную в формате Base64, и возвращает
исходные данные в виде списка байтов
(Uint8List). В первый параметр мы передаем
строку, которую необходимо декодировать. Строка
должна быть корректной Base64-последовательностью,
иначе будет выброшено исключение
FormatException. Функция часто применяется
для декодирования данных, полученных из JSON,
например при работе с изображениями или
бинарными файлами, переданными в текстовом виде.
Синтаксис
base64Decode(source)
Пример
Давайте декодируем строку 'YWJjZGU=',
которая является Base64-представлением строки
'abcde':
import 'dart:convert';
void main()
{
String encoded = 'YWJjZGU=';
List<int> res = base64Decode(encoded);
print(res);
}
Результат выполнения кода:
[97, 98, 99, 100, 101]
Пример
Давайте декодируем Base64-строку обратно
в текстовую строку с помощью utf8.decode:
import 'dart:convert';
void main()
{
String encoded = 'YWJjZGU=';
List<int> bytes = base64Decode(encoded);
String res = utf8.decode(bytes);
print(res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте декодируем Base64-данные, полученные из JSON-строки:
import 'dart:convert';
void main()
{
String jsonStr = '{"data": "MTIzNDU="}';
Map<String, dynamic> obj = jsonDecode(jsonStr);
List<int> res = base64Decode(obj['data']);
print(res);
}
Результат выполнения кода:
[49, 50, 51, 52, 53]
Смотрите также
-
функция
base64Encode,
которая кодирует данные в Base64 -
функция
base64UrlDecode,
которая декодирует Base64 URL-безопасный формат -
функция
jsonDecode,
которая декодирует JSON-строку -
функция
utf8.decode,
которая декодирует байты в строку UTF-8