Spec-Zone.ru › Dart 2

dart:core

Конструктор Uri.dataFromString

Uri.dataFromString(
  1. String content,
  2. {String? mimeType,
  3. Encoding? encoding,
  4. Map<String, String>? parameters,
  5. bool base64 = false}
)

Создает URI data:, содержащий строку content.

Преобразует содержимое в байты с помощью encoding или набора символов, указанного в parameters (по умолчанию используется US-ASCII, если набор символов не указан или не распознан), а затем кодирует байты в результирующий URI данных.

По умолчанию используется кодирование с помощью процентного кодирования (все байты, не относящиеся к ASCII или недопустимые в URI, заменяются процентным кодированием). Если base64 имеет значение true, байты вместо этого кодируются с помощью base64.

Если encoding не указан, а в parameters есть запись charset, это имя передается в Encoding.getByName, и если поиск возвращает кодировку, она используется для преобразования content в байты. Если указаны и encoding, и набор символов в parameters, они должны совпадать, иначе при декодировании невозможно будет определить кодировку по параметру набора символов.

Если указаны mimeType и/или parameters, они добавляются в созданный URI. Если они содержат символы, недопустимые в URI данных, эти символы экранируются с помощью процентного кодирования. Символы, не относящиеся к ASCII, сначала кодируются в UTF-8, а затем байты кодируются с помощью процентного кодирования. Отсутствие mimeType в URI данных означает text/plain, так же как отсутствие параметра charset по умолчанию означает US-ASCII.

Чтобы прочитать содержимое, используйте UriData.contentAsString.

Пример:

final uri = Uri.dataFromString(
  'example content',
  mimeType: 'text/plain',
  parameters: <String, String>{'search': 'file', 'max': '10'},
);
print(uri); // data:;search=name;max=10,example%20content

Реализация

factory Uri.dataFromString(String content,
    {String? mimeType,
    Encoding? encoding,
    Map<String, String>? parameters,
    bool base64 = false}) {
  UriData data = UriData.fromString(content,
      mimeType: mimeType,
      encoding: encoding,
      parameters: parameters,
      base64: base64);
  return data.uri;
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/Uri/Uri.dataFromString.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API