Метод contentAsString
String contentAsString(Возвращает строку, созданную из содержимого URI данных.
Если содержимое закодировано в Base64, оно будет декодировано в байты, а затем декодировано в строку, используя encoding. Если 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 new 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 Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/UriData/contentAsString.html