Spec-Zone.ru › Dart 2

dart:core

Метод isCharset

  1. @Since("2.17")
bool isCharset(
  1. String charset
)
@Since("2.17")

Проверяет, соответствует ли параметр charset типа mime charset.

Если у данного URI нет параметра "charset", предполагается, что он имеет значение по умолчанию charset=US-ASCII. Если значение параметра charset пустое, оно обрабатывается как "US-ASCII".

Возвращает true, если charset и значение параметра "charset" совпадают как строки, игнорируя регистр латинских букв, или оба соответствуют одному и тому же кодированию, как указано в Encoding.getByName.

Реализация

@Since("2.17")
bool isCharset(String charset) {
  var charsetIndex = _findCharsetIndex();
  if (charsetIndex < 0) {
    return charset.isEmpty ||
        _caseInsensitiveEquals(charset, "US-ASCII") ||
        identical(Encoding.getByName(charset), ascii);
  }
  if (charset.isEmpty) charset = "US-ASCII";
  var valueStart = _separatorIndices[charsetIndex + 1] + 1;
  var valueEnd = _separatorIndices[charsetIndex + 2];
  var length = valueEnd - valueStart;
  if (charset.length == length &&
      _caseInsensitiveStartsWith(charset, _text, valueStart)) {
    return true;
  }
  var checkedEncoding = Encoding.getByName(charset);
  return checkedEncoding != null &&
      identical(
          checkedEncoding,
          Encoding.getByName(
              _Uri._uriDecode(_text, valueStart, valueEnd, utf8, false)));
}

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/UriData/isCharset.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API