Функция base64UrlDecode
Функция base64UrlDecode принимает строку, которая была закодирована с помощью алгоритма Base64Url, и возвращает список байтов (Uint8List), представляющий исходные данные. Этот формат отличается от стандартного Base64 тем, что использует символы - и _ вместо + и /, что делает его безопасным для использования в URL-адресах и именах файлов. В первый параметр мы передаем строку для декодирования. Второй необязательный параметр padding указывает, нужно ли добавлять символы заполнения =, если их нет в исходной строке.
Синтаксис
base64UrlDecode(String source, [bool padding = false])
Пример
Давайте декодируем строку, закодированную в формате Base64Url, и выведем полученные байты:
import 'dart:convert';
void main()
{
String encoded = 'SGVsbG8gV29ybGQ';
List<int> decoded = base64UrlDecode(encoded);
print(decoded);
}
Результат выполнения кода:
[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
Пример
Давайте преобразуем полученные байты обратно в читаемую строку с помощью utf8.decode:
import 'dart:convert';
void main()
{
String encoded = 'SGVsbG8gV29ybGQ';
List<int> decoded = base64UrlDecode(encoded);
String res = utf8.decode(decoded);
print(res);
}
Результат выполнения кода:
"Hello World"
Пример
Давайте рассмотрим использование параметра padding. Если строка не содержит символов заполнения =, их можно добавить автоматически:
import 'dart:convert';
void main()
{
String encoded = 'SGVsbG8';
List<int> decoded = base64UrlDecode(encoded, true);
print(decoded);
}
Результат выполнения кода:
[72, 101, 108, 108, 111]
Смотрите также
-
функция
base64UrlEncode,
которая кодирует байты в Base64Url -
функция
base64Decode,
которая декодирует стандартный Base64 -
функция
base64Encode,
которая кодирует байты в стандартный Base64 -
функция
utf8.decode,
которая преобразует байты в строку