On this page
charset property
String charsetThe charset parameter of the media type.
If the parameters of the media type contains a charset
parameter then this returns its value, otherwise it returns US-ASCII
, which is the default charset for data URIs. If the value contain non-ASCII percent escapes, they are decoded as UTF-8.
If the MIME type representation in the URI text contains URI escapes, they are unescaped in the returned string.
Source
String get charset {
int parameterStart = 1;
int parameterEnd = _separatorIndices.length - 1; // The ',' before data.
if (isBase64) {
// There is a ";base64" separator, so subtract one for that as well.
parameterEnd -= 1;
}
for (int i = parameterStart; i < parameterEnd; i += 2) {
var keyStart = _separatorIndices[i] + 1;
var keyEnd = _separatorIndices[i + 1];
if (keyEnd == keyStart + 7 && _text.startsWith("charset", keyStart)) {
return _Uri._uriDecode(
_text, keyEnd + 1, _separatorIndices[i + 2], UTF8, false);
}
}
return "US-ASCII";
}
© 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/charset.html