метод contentAsString
- {Encoding? encoding}
Создаёт строку из содержимого URI данных.
Если содержимое закодировано в Base64, оно будет декодировано в байты, а затем в строку с использованием encoding. Если параметр encoding не указан, используется значение параметра charset, если оно распознано методом Encoding.getByName; в противном случае используется кодировка ascii, являющаяся кодировкой по умолчанию для URI данных, в которых кодировка не указана.
Если содержимое не закодировано в Base64, сначала процентные escape-последовательности будут преобразованы в байты, а затем коды символов и значения байтов будут декодированы с использованием 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.19.6/dart-core/UriData/contentAsString.html