Метод contentAsString
- {Encoding? encoding}
Создает строку из содержимого URI данных.
Если содержимое закодировано в Base64, оно будет декодировано в байты, а затем декодировано в строку с использованием encoding. Если кодировка опущена, используется значение параметра charset, если оно распознается методом Encoding.getByName; в противном случае по умолчанию используется кодировка ascii, которая является кодировкой по умолчанию для URI данных, не указывающих кодировку.
Если содержимое не закодировано в Base64, сначала будут преобразованы проценты-экранирования в байты, а затем кодовые точки символов и значения байтов будут декодированы с использованием encoding.
Реализация
String contentAsString({Encoding? encoding}) {
if (encoding == null) {
var charset = this.charset; // Returns "US-ASCII" if not present.
encoding = Encoding.getByName(charset);
if (encoding == null) {
throw UnsupportedError("Unknown charset: $charset");
}
}
String text = _text;
int start = _separatorIndices.last + 1;
if (isBase64) {
var converter = base64.decoder.fuse(encoding.decoder);
return converter.convert(text.substring(start));
}
return _Uri._uriDecode(text, start, text.length, encoding, false);
}
© 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/contentAsString.html