Spec-Zone.ru › Dart 1

dart:core

Метод encodeQueryComponent

String encodeQueryComponent(String component, { Encoding encoding: UTF8 })

Кодирует строку component в соответствии с правилами HTML 4.01 для кодирования отправки HTML-формы в качестве компонента строки запроса.

Кодирует строку component в соответствии с правилами HTML 4.01 для кодирования отправки HTML-формы в качестве компонента строки запроса.

Компонент сначала кодируется в байты с использованием encoding. По умолчанию используется кодировка UTF8, которая сохраняет все символы, не требующие кодирования.

Затем полученные байты «процентуются». Это преобразует пробелы (U+0020) в знак плюса («+») и все байты, которые не являются ASCII-десятичными цифрами, буквами или одним из символов '-._~', записываются как знак процента («%»), за которым следует двухзначное шестнадцатеричное представление байта.

Обратите внимание, что набор символов, который подлежит проценту, является супермножеством того, что требуется HTML 4.01, поскольку он ссылается на RFC 1738 для зарезервированных символов.

При ручном кодировании компонентов запроса помните, что необходимо кодировать каждую часть отдельно перед созданием строки запроса.

Чтобы избежать необходимости явного кодирования запроса, используйте необязательные именованные аргументы queryParameters при построении Uri.

Дополнительные сведения см. в http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2.

Исходный код

static String encodeQueryComponent(String component,
    {Encoding encoding: UTF8}) {
  return _Uri._uriEncode(_Uri._unreservedTable, component, encoding, true);
}

© 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/Uri/encodeQueryComponent.html

Spec-Zone.ru

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