ForHosting KIT · Outils pour développeurs

Encodeur-décodeur pour cent d'URL

hello world & café devient hello%20world%20%26%20caf%C3%A9, prêt pour un lien. Choisissez d'encoder une valeur isolée, où & = ? / sont aussi échappés, ou une adresse entière qui garde ses deux-points, barres obliques et point d'interrogation. Le décodage fait l'inverse. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
hello world & café
Mode de calcul
Encode
Vous obtenez
Résultat
hello%20world%20%26%20caf%C3%A9
Longueur
31
Profil
component
Norme
encodeURIComponent / decodeURIComponent

Sans lui, un terme de recherche avec espaces casse une requête, un sujet d'e-mail avec accents corrompt un lien mailto, et un nom de produit avec barre oblique ressemble à un nouveau chemin. Choisissez le mode composant lorsque vous encodez une seule valeur de paramètre, ou le mode URI complet lorsque des séparateurs structurels comme deux-points-barre et point d'interrogation doivent rester intacts.

Comment fonctionnent l'encodage pour cent et les deux profils d'URL

L'encodage pour cent, défini pour le web dans les normes URI que suivent les navigateurs et la RFC 3986, remplace chaque octet non autorisé dans un contexte donné par un signe pour cent et deux chiffres hexadécimaux. Pour le texte UTF-8, les caractères multi-octets deviennent plusieurs groupes %HH à la suite, donc café devient caf%C3%A9 et une simple espace devient %20. Deux profils courants comptent dans le travail quotidien.

Le profil composant correspond à encodeURIComponent : il échappe presque tout ce qui n'est pas un caractère non réservé, y compris les délimiteurs réservés comme l'esperluette, le signe égal, le point d'interrogation, la barre oblique et les deux-points. C'est ce qu'il vous faut quand la chaîne est une seule valeur de paramètre de requête ou un seul segment de chemin qui ne doit pas être pris pour de la structure.

Le profil URI complet correspond à encodeURI : il échappe toujours les espaces et le non ASCII, mais laisse la ponctuation structurelle intacte afin qu'une adresse entière comme https://example.com/path? Le décodage inverse la correspondance. Avant d'exécuter le décodage de l'hôte, cette capacité balaie l'entrée à la recherche d'échappements bien formés : chaque signe pour cent doit être suivi d'exactement deux chiffres hexadécimaux.

Ce contrôle strict est voulu ; une acceptation silencieuse cacherait les erreurs de collage et produirait des résultats différents entre langages en désaccord sur le traitement des échappements cassés.

Ce que vous envoyez et ce que vous recevez

Envoyez un champ chaîne obligatoire nommé text et les champs facultatifs mode et component. Lorsque mode est omis, encode est la valeur par défaut afin qu'une charge utile unique fasse quand même un travail utile. Le mode encode échappe en pour cent le text selon le profil choisi et renvoie la chaîne transformée dans result.

Le mode decode valide chaque séquence de pour cent, puis inverse l'encodage et renvoie du texte UTF-8 brut dans result. Component vaut true par défaut pour le profil composant strict ; réglez-le sur false pour le profil URI complet qui préserve les délimiteurs structurels. La réponse renvoie mode, component, le text original, result, la longueur de result, une courte étiquette de profil component ou uri, et une étiquette standard nommant les fonctions JavaScript intégrées correspondantes afin que les clients vérifient quel contrat ils ont touché.

Les échecs de validation ne consomment pas de solde prépayé. Les vérifications classiques incluent l'encodage de hello world avec une espace et une esperluette en mode composant, le décodage de caf%C3%A9 vers café, l'encodage d'une URL complète avec component false pour que le schéma et les séparateurs de requête survivent, et le rejet d'une chaîne qui se termine par un pour cent nu.

Où l'encodage pour cent des URL apparaît dans le travail réel

Les services backend qui assemblent des cibles de redirection, des URL de rappel OAuth et des chemins de retour signés doivent encoder chaque valeur de paramètre indépendamment afin qu'une esperluette dans un titre de produit ne puisse pas inventer un second champ de requête. Les applications frontend qui construisent des liens de recherche et de filtre à partir de champs de texte libre ont besoin de l'encodage composant sur chaque valeur tout en laissant le gabarit de chemin intact.

Les gabarits d'e-mails et de SMS qui intègrent des liens profonds avec des noms d'utilisateurs, des étiquettes de campagne ou des sujets Unicode reposent sur l'encodage pour cent afin que les opérateurs et les clients ne réenveloppent ni ne corrompent le href. Les équipes d'assistance collent des chaînes à moitié encodées issues de tickets et ont besoin d'un chemin de décodage qui échoue bruyamment sur les échappements % tronqués au lieu d'inventer des caractères. Les ingénieurs de localisation vérifient que les langues multi-octets font l'aller-retour encodage-décodage sans mojibake.

Les auteurs de programmes qui enseignent les fondations du web veulent une page dédiée à l'encodage pour cent avec les deux profils composant et URI complet plutôt que d'enfouir le sujet sous un outil générique de Base64 ou de slug, car l'intention de recherche et les règles de caractères réservés diffèrent. Si vous avez besoin de Base64, Base32, génération de slugs, assemblage UTM ou validation complète de structure d'URL, traitez-les comme des intentions de recherche et des pages distinctes plutôt que de surcharger cette page d'encodeur pour cent.

Valeurs de paramètres de requête sûres

Encodez en pour cent chaque filtre, terme de recherche ou nom de produit avec le mode composant afin que les caractères réservés ne cassent ni ne réécrivent jamais la chaîne de requête.

Décoder des URL collées ou journalisées

Décodez les fragments encodés en pour cent issus des journaux et tickets vers un texte lisible, avec des échecs francs sur les séquences de pour cent incomplètes ou non hexadécimales.

Normalisation légère d'URL complètes

Encodez une adresse complète avec component false afin que les espaces et le non ASCII s'échappent tandis que les délimiteurs de schéma, chemin et requête restent intacts.

Quelle est la différence entre component true et false ?

True applique la sémantique d'encodeURIComponent et échappe les séparateurs réservés comme & = ? / : pour qu'une valeur unique soit sûre dans un paramètre ou un segment de chemin. False applique la sémantique d'encodeURI et conserve la ponctuation structurelle de l'URL tout en échappant espaces et non ASCII.

Puis-je encoder et décoder ?

Oui. Réglez mode sur encode (par défaut) pour échapper en pour cent du texte brut, ou sur decode pour retrouver le texte à partir d'une chaîne encodée en pour cent.

Que se passe-t-il si une séquence de pour cent est mal formée ?

Rien n'est facturé pour les échecs de validation.

Cela remplace-t-il la construction d'un objet URL complet ?

Non. Cela ne transforme le texte qu'avec les règles de l'encodage pour cent. Assemblez vous-même schéma, hôte, chemin et requête, en encodant chaque valeur avec le profil composant si nécessaire.

Combien cela coûte-t-il ?

L'outil du navigateur est gratuit et s'exécute localement.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/url

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/url \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"hello world & café"}'
{
  "text": "hello world & café"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.url",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

L'encodage pour cent des URL transforme les espaces, les esperluettes, les lettres non ASCII et les autres caractères réservés ou dangereux en une forme portable %HH afin que les chaînes de requête, les segments de chemin et les paramètres de rappel survivent au transit par les navigateurs, proxys et API. Cette capacité applique les mêmes règles que JavaScript expose sous encodeURIComponent et encodeURI : le mode encode échappe les caractères que votre profil exige, le mode decode restaure le texte brut, et toute séquence de pour cent mal formée échoue immédiatement avec invalid_input au lieu de renvoyer des déchets à moitié décodés.

Comment fonctionnent l'encodage pour cent et les deux profils d'URL

x=1 puisse être légèrement normalisée sans détruire le schéma, le chemin ni le squelette de requête. Un pour cent solitaire en fin, ou des séquences comme %G1 ou %2, déclenchent invalid_input avec une position et une courte explication. Le chemin n'est que du travail de chaînes pur, sans réseau, sans graines aléatoires et sans horodatages, donc des entrées identiques produisent toujours un JSON identique. La tarification des appels API réussis est la base publiée de $0.002 par élément, et les échecs de validation ne consomment pas de solde prépayé.

Ce que vous envoyez et ce que vous recevez

Un text manquant, des objets non chaînes, des valeurs de mode non prises en charge, des valeurs impossibles à interpréter comme booléen pour component, des chaînes plus longues que le maximum documenté, des échappements de pour cent incomplets, des chiffres non hexadécimaux après un signe pour cent et des erreurs URI au niveau hôte sur un UTF-8 décodé invalide échouent tous avec invalid_input et un message anglais clair. La tarification API réussie est la base publiée de $0.002 par élément.

Où l'encodage pour cent des URL apparaît dans le travail réel

Comme cette capacité est un moteur d'analyse pur, la tarification API est la base publiée de $0.002 par élément réussi et la validation échouée ne consomme pas de solde.

Consulter la documentation complète du KIT →