Strumento encodeURIComponent
Uno spazio diventa %20, & diventa %26 e = diventa %3D, così hello world & café diventa hello%20world%20%26%20caf%C3%A9 e sta dentro un unico valore di query. Ogni valore segue le regole di encodeURIComponent; la decodifica le inverte. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- hello world & café
- Produzione
- hello%20world%20%26%20caf%C3%A9
- Modalità di calcolo
- Encode
- Input
- hello world & café
- Lunghezza
- 31
Quando costruisce una query string, una sola e commerciale o uno spazio senza escape può spezzare un parametro e rompere un'integrazione. Questo strumento encodeURIComponent applica le stesse regole di JavaScript encodeURIComponent e decodeURIComponent: i caratteri riservati diventano sequenze percent-encoded in uscita, e le sequenze %XX valide tornano testo leggibile al ritorno.
Cosa protegge davvero encodeURIComponent
Un URL completo non è un blocco opaco unico. Schemi, separatori di percorso, delimitatori di query e marcatori di frammento hanno un significato strutturale. encodeURIComponent è la funzione che usa quando il valore deve viaggiare come dato dentro quella struttura senza riscrivere la struttura stessa. Gli spazi diventano %20, le e commerciali diventano %26, i segni di uguale diventano %3D, e il testo non-ASCII come le lettere accentate o le emoji viene espanso in sequenze percent UTF-8 così proxy e server non interpretano male i confini dei byte.
È diverso da encodeURI, che lascia intatti molti caratteri riservati perché presume che stia codificando un intero indirizzo. Se codifica un intero link https:// con le regole del componente, i due punti e le barre si trasformano in sequenze % e il link smette di funzionare. Se lascia un termine di ricerca libero non codificato e lo incolla dopo il ?, una & interna sembra un nuovo parametro.
Questo strumento usa sempre la semantica del componente, così ogni valore è sicuro da collocare dopo una chiave, tra segmenti di percorso quando il segmento è un dato, o dentro un corpo di form che poi diventa una query.
Come usarlo e leggere il risultato
Invii un campo text con la stringa che le interessa e un campo mode facoltativo impostato a encode o decode. Encode è il valore predefinito: il motore esegue encodeURIComponent sull'input e restituisce mode, l'input originale, l'output trasformato e la lunghezza dell'output, così le pipeline possono verificare i budget di dimensione senza un secondo passaggio. Decode esegue decodeURIComponent e restituisce la stessa forma con la stringa recuperata in output.
Le stringhe vuote sono valide e fanno round-trip a stringhe vuote. Anche un text mancante fallisce la validazione prima di qualsiasi trasformazione.
Dove la codifica del componente si inserisce nei flussi reali
Le UI di ricerca e filtro costruiscono link condivisibili da frasi digitate dall'utente che includono spazi, virgolette e alfabeti non latini; codificare ogni campo prima dell'assemblaggio mantiene stabile il link condiviso tra client email e app di chat che riscrivono gli URL nudi. Gli strumenti di log e supporto mostrano spesso le righe di richiesta grezze con sequenze percent; decodificare quei valori recupera i termini di ricerca o i nomi di file originali per l'indagine senza incollare in una console usa e getta.
Le migrazioni di dati invertono le colonne codificate due volte quando esportatori più vecchi codificavano due volte, oppure applicano una singola codifica coerente del componente quando memorizzano valori che poi verranno inseriti nei reindirizzamenti. Le checklist di formazione e di code review usano un riferimento encodeURIComponent noto-corretto, così gli sviluppatori junior possono confrontare gli helper specifici del linguaggio con la baseline JavaScript e individuare le librerie che trattano diversamente i segni più o le tilde.
Casi d'uso
Valori di parametri di query sicuri
Codifichi email, nomi e filtri di testo libero prima di aggiungerli alle coppie ?chiave=valore, così i caratteri riservati non spezzano mai la query string.
Decodifica di log e export di richieste
Trasformi i frammenti di percorso o query percent-encoded dai log di accesso e dagli export CSV di nuovo in UTF-8 leggibile per supporto e analisi.
Verifiche di parità tra stack
Confronti l'encoder URL di un altro linguaggio con l'output di JavaScript encodeURIComponent, così i microservizi misti concordano sulle regole di escape.
Domande frequenti
Qual è la differenza tra encodeURIComponent ed encodeURI?
encodeURIComponent sottopone a escape caratteri riservati come &, =, ? e / così un valore è sicuro come dato. encodeURI lascia intatti quei caratteri strutturali per gli URL interi. Questo strumento usa sempre la semantica del componente.
Cosa succede se l'input di decodifica è malformato?
Corregga la stringa o la tratti come dato opaco invece di decodificarla.
Lo strumento encodeURIComponent è gratuito?
Lo strumento del browser è gratuito e gira in locale.
Gestisce Unicode ed emoji?
Sì. La codifica usa sequenze percent UTF-8 che corrispondono a JavaScript encodeURIComponent, così il testo accentato e le emoji fanno round-trip correttamente quando vengono decodificati.
Conviene codificare l'intera query o ogni valore?
Codifichi ogni valore da solo e poi li unisca con & e = normali. Codificando una query già composta si proteggono anche i separatori, e il server che la riceve non capisce più dove finisce un valore e dove inizia il successivo.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/enc/url-component \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello world & café"}'const res = await fetch("https://api.kit.forhosting.com/enc/url-component", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello world & café"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/url-component",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello world & café"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/url-component", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello world & café"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello world & café"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/url-component", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "hello world & café"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.url_component",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Lo usi per preparare i valori prima che entrino in un URL, per invertire la codifica di log o payload di terze parti e per ottenere un risultato deterministico, sia che esegua gratis nel browser sia che chiami l'API del KIT.
Come chiamare l'endpoint e leggere il risultato
Numeri e booleani vengono convertiti in testo nello stesso modo in cui JavaScript li stringifica prima di codificarli, il che aiuta i test rapidi dell'API. Le sequenze percent malformate in decodifica, come un segno di percento isolato o una coda %X incompleta, sollevano invalid_input con un messaggio che nomina il fallimento della decodifica; quelle attività non vengono fatturate. Poiché il percorso è puro parsing senza rete, modello, orologio o sorgente casuale, la stessa coppia di text e mode produce sempre lo stesso oggetto JSON sullo strumento gratuito del browser e sull'API a pagamento. A $0.002 per richiesta riuscita il prezzo segue una minuscola trasformazione sull'edge, così può codificare migliaia di valori di query in un lavoro di pulizia senza negoziare fasce. Preferisca codificare ogni valore e poi unirlo con caratteri & e = letterali, invece di codificare una query già costruita, così i delimitatori restano strutturali e solo i caratteri del payload vengono sottoposti a escape.
Dove la codifica del componente si inserisce nei flussi reali
I webhook in uscita sono il caso classico: l'email di un cliente, l'oggetto di un ticket o un tag di testo libero devono stare in un URL di callback senza rompere il parser del destinatario.
Domande tecniche
Posso codificare e decodificare con lo stesso endpoint?
Sì. Imposti mode su encode (predefinito) o decode. La risposta include sempre mode, input, output e length.