Метод encodeQueryComponent
Кодирует строку component в соответствии с правилами HTML 4.01 для кодирования отправки HTML-формы в качестве компонента строки запроса.
Кодирует строку component в соответствии с правилами HTML 4.01 для кодирования отправки HTML-формы в качестве компонента строки запроса.
Компонент сначала кодируется в байты с использованием encoding. По умолчанию используется кодировка utf8, которая сохраняет все символы, не требующие кодирования.
Затем полученные байты подвергаются "процентному кодированию". Это преобразует пробелы (U+0020) в знак плюса ('+') и все байты, которые не являются десятичными цифрами ASCII, буквами или одним из символов '-._~', записываются как знак процента '%' и двузначное шестнадцатеричное представление байта.
Обратите внимание, что набор символов, которые подлежат процентному кодированию, является супермножеством того, что требуется HTML 4.01, так как он ссылается на RFC 1738 для зарезервированных символов.
При ручном кодировании компонентов строки запроса помните, что каждый компонент необходимо кодировать отдельно перед построением строки запроса.
Чтобы избежать необходимости явного кодирования строки запроса, используйте необязательные именованные аргументы queryParameters при построении Uri.
Дополнительные подробности см. в https://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 BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-core/Uri/encodeQueryComponent.html