Кодирование/декодирование URL
Кодирование/декодирование URL локально преобразует компоненты и значения URL с percent encoding по семантике encodeURIComponent/decodeURIComponent для пробелов, зарезервированных символов, текста UTF-8, emoji, значений query и данных сегмента пути.
Исходный текст
Символы
0 / 50,000
Быстрый старт
Частые сценарии
Параметры API
кодируйте значение параметра перед вставкой в query string; оставляйте ? и & и = вне закодированного значения.
Данные формы
полезно для отдельных значений, но это не сериализатор application/x-www-form-urlencoded и не преобразует пробелы в +.
Общие ссылки
кодируйте данные, отличные от ASCII, или зарезервированные данные внутри параметра, сегмента пути или фрагмента перед сборкой URL.
Поисковые запросы
кодируйте ключевые слова или фильтры, особенно если они включают & = #? / или пробелы
Рекомендации по использованию
Кодирование границ
Ограничения и совместимость
Конфиденциальность и безопасность
Частые вопросы
URL — это адресный текст в Web, состоящий из частей вроде scheme, host, path, query и fragment. Кодирование нужно, когда символы данных могут быть приняты за разделители ?, &, #, = или /, либо когда данные содержат пробелы, не-ASCII текст или emoji. Такие символы записываются как байты UTF-8 в виде %HH, например пробел → %20, а / внутри значения параметра → %2F. Этот инструмент подходит для компонентов и значений URL, а не для сохранения структуры полного URL. URL encoding обратим и не обеспечивает конфиденциальность.
Нет. Кодирование — обратимое преобразование формата. Пароли и ключи должны шифроваться
Можно, но Encode будет считать всю строку данными и закодирует структурные символы вроде /, ?, &, = и #. Если нужно сохранить структуру URL, кодируйте только значение параметра или данные сегмента пути либо сначала проверьте URL через URL Parser.
В общем процентном кодировании URL используется %20. В данных формы application/x-www-form-urlencoded для пробелов используется +, но decodeURIComponent оставляет + без изменений. Эта страница преобразует одно текстовое значение, а не все тело формы, поэтому сначала замените + на %20, если вы хотите декодировать пробелы в стиле формы.
Закодированное содержимое содержит последовательности %XX (% и две шестнадцатеричные цифры, например %E4%BD%A0). Много таких последовательностей — значит уже закодировано; повторно не кодируйте
Текст, отличный от ASCII, например, китайский, акценты и смайлики, кодируется как UTF-8 %HH байты. Косая черта зависит от позиции: сохраните / в качестве разделителя пути, но закодируйте его как %2F, если это данные внутри значения запроса или сегмента пути.