URL-кодировщик / декодировщик/ Кодирование · Декодирование · Форма
Кодируйте и декодируйте URL с помощью encodeURIComponent, encodeURI или кодирования форм в реальном времени.
Кодировать все спецсимволы (рекомендуется, для значений параметров запроса)
%20 / +!%21"%22#%23%%25&%26'%27+%2B/%2F=%3D?%3F@%40Этот инструмент решил вашу проблему?
Что такое URL-кодирование
URL-кодирование (процентное кодирование) преобразует特殊ные символы в `%` плюс две шестнадцатеричные цифры. URL允许 только буквы, цифры и少数符号 (`-_.~`). Другие символы, такие как пробел (%20)或非-ASCII символы, должны быть закодированы. Браузеры自动 кодируют URL в адресной строке,但 при программном построении URL необходимо处理 кодирование вручную.
Типичные сценарии URL-кодирования
Передача特殊ных символов в параметрах запроса (например, поисковые запросы с `&` или `=`), отправка данных формы (POST по умолчанию использует URL-кодирование), API-запросы с JSON или非-ASCII параметрами и OAuth callback URL. Используйте `encodeURIComponent()` в JavaScript или `urllib.parse.quote()` в Python.
Примеры кода
// Encode a query parameter value
encodeURIComponent("Hello World! 中文")
// "Hello%20World!%20%E4%B8%AD%E6%96%87"
// Build a full query string (recommended)
const params = new URLSearchParams({
q: "hello world",
lang: "zh-CN",
page: "1",
});
params.toString()
// "q=hello+world&lang=zh-CN&page=1"
// Decode
decodeURIComponent("Hello%20World%21")
// "Hello World!"from urllib.parse import (
quote, unquote,
urlencode, quote_plus
)
# Encode single value
quote("Hello World! 中文")
# 'Hello%20World%21%20%E4%B8%AD%E6%96%87'
# Form encoding (spaces → +)
quote_plus("hello world")
# 'hello+world'
# Build query string
urlencode({"q": "hello world", "page": 1})
# 'q=hello+world&page=1'
# Decode
unquote("Hello%20World%21") # 'Hello World!'import "net/url"
// Encode a path segment
url.PathEscape("hello world/中文")
// "hello%20world%2F%E4%B8%AD%E6%96%87"
// Encode a query value
url.QueryEscape("hello world")
// "hello+world"
// Build query string
params := url.Values{}
params.Set("q", "hello world")
params.Set("lang", "zh-CN")
params.Encode()
// "lang=zh-CN&q=hello+world"
// Parse a URL
u, _ := url.Parse("https://example.com/search?q=hello+world")
u.Query().Get("q") // "hello world"# curl handles encoding automatically with --data-urlencode
curl -G https://api.example.com/search \
--data-urlencode "q=hello world 中文" \
--data-urlencode "page=1"
# Manual percent-encoding with Python
python3 -c "
import sys
from urllib.parse import quote
print(quote(sys.stdin.read().strip()))
" <<< "hello world 中文"
# Using jq to build encoded JSON body
curl -X POST https://api.example.com \
-H 'Content-Type: application/json' \
-d "$(jq -n --arg q 'hello world' '{query: $q}')"