Spec-Zone.ru › Dart 2

dart:core

Конструктор UriData.fromString

UriData.fromString(
  1. Строка content,
  2. {Строка? mimeType,
  3. Кодировка? encoding,
  4. Карта<Строка, Строка>? parameters,
  5. Булево base64 = false}
)

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

Эквивалентно Uri.dataFromString(...).data, но может быть эффективнее, если сам uri не используется.

Реализация

factory UriData.fromString(String content,
    {String? mimeType,
    Encoding? encoding,
    Map<String, String>? parameters,
    bool base64 = false}) {
  StringBuffer buffer = StringBuffer();
  List<int> indices = [_noScheme];
  String? charsetName = parameters?["charset"];
  String? encodingName;
  if (encoding == null) {
    if (charsetName != null) {
      encoding = Encoding.getByName(charsetName);
    }
  } else if (charsetName == null) {
    // Non-null only if parameters does not contain "charset".
    encodingName = encoding.name;
  }
  encoding ??= ascii;
  _writeUri(mimeType, encodingName, parameters, buffer, indices);
  indices.add(buffer.length);
  if (base64) {
    buffer.write(';base64,');
    indices.add(buffer.length - 1);
    buffer.write(encoding.fuse(_base64).encode(content));
  } else {
    buffer.write(',');
    _uriEncodeBytes(_uricTable, encoding.encode(content), buffer);
  }
  return UriData._(buffer.toString(), indices, null);
}

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

Spec-Zone.ru

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