Creates a data:
URI containing the content
string.
Converts the content to a bytes using encoding
or the charset specified
in parameters
(defaulting to US-ASCII if not specified or unrecognized),
then encodes the bytes into the resulting data URI.
Defaults to encoding using percent-encoding (any non-ASCII or non-URI-valid
bytes is replaced by a percent encoding). If base64
is true, the bytes
are instead encoded using BASE64.
If encoding
is not provided and parameters
has a charset
entry,
that name is looked up using Encoding.getByName,
and if the lookup returns an encoding, that encoding is used to convert
content
to bytes.
If providing both an encoding
and a charset parameter
, they should
agree, otherwise decoding won't be able to use the charset parameter
to determine the encoding.
If mimeType
and/or parameters
are supplied, they are added to the
created URI. If any of these contain characters that are not allowed
in the data URI, the character is percent-escaped. If the character is
non-ASCII, it is first UTF-8 encoded and then the bytes are percent
encoded. An omitted mimeType
in a data URI means text/plain
, just
as an omitted charset
parameter defaults to meaning US-ASCII
.
To read the content back, use UriData.contentAsString.
Source
factory Uri.dataFromString(String content,
{String mimeType,
Encoding encoding,
Map<String, String> parameters,
bool base64: false}) {
UriData data = new UriData.fromString(content,
mimeType: mimeType,
encoding: encoding,
parameters: parameters,
base64: base64);
return data.uri;
}