Returns a string created from the content of the data URI.
If the content is Base64 encoded, it will be decoded to bytes and then decoded to a string using encoding
. If encoding is omitted, the value of a charset
parameter is used if it is recognized by Encoding.getByName, otherwise it defaults to the ascii encoding, which is the default encoding for data URIs that do not specify an encoding.
If the content is not Base64 encoded, it will first have percent-escapes converted to bytes and then the character codes and byte values are decoded using 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 Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.5.0/dart-core/UriData/contentAsString.html