Encodeur / Decodeur URL/ Encoder · Decoder · Formulaire
Encodez et decodez les URL avec encodeURIComponent, encodeURI ou l'encodage de formulaire en temps reel.
Encoder tous les caractères spéciaux (recommandé, pour les paramètres de requête)
%20 / +!%21"%22#%23%%25&%26'%27+%2B/%2F=%3D?%3F@%40Cet outil a-t-il résolu votre problème ?
Qu'est-ce que l'encodage URL
L'encodage URL (encodage pourcent) convertit les caractères spéciaux en `%` suivi de deux chiffres hexadécimaux. Les URL ne允许 que les lettres, chiffres et少数 symboles (`-_.~`). Les autres caractères comme l'espace (%20) ou les caractères non-ASCII doivent être encodés. Les navigateurs编码 automatiquement les URL dans la barre d'adresse, mais lors de la construction programmatique d'URL, vous devez gérer l'encodage手动ément.
Scénarios courants d'encodage URL
Passage de caractères spéciaux dans les paramètres de requête (ex: termes de recherche contenant `&` ou `=`), soumission de données de formulaire (POST utilise l'encodage URL par défaut), requêtes API avec JSON ou paramètres non-ASCII, et URLs de callback OAuth. Utilisez `encodeURIComponent()` en JavaScript ou `urllib.parse.quote()` en Python.
Exemples de code
// 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}')"