Codificador porcentagem RFC 3986
RFC 3986 define a gramática moderna de URI e o conjunto exato de caracteres não reservados que podem aparecer sem codificação percentual: letras, dígitos, hífen, ponto, sublinhado e til.
Executar grátis
Muitas ferramentas do dia a dia seguem encodeURIComponent do JavaScript, que deixa deliberadamente sem escape exclamações, apóstrofos, parênteses e asteriscos—caracteres que RFC 3986 classifica como sub-delims e que gateways rígidos, assinadores OAuth e clientes HTTP multi-idioma costumam esperar como %21 %27 %28 %29 %2A. Esta capacidade aplica o mapa estrito de RFC 3986 nos dois sentidos: encode transforma cada byte UTF-8 não não-reservado em %HH maiúsculo, e decode restaura o texto simples falhando de imediato em sequências percentuais incompletas ou não hexadecimais. Use quando o contrato disser «codificar em porcentagem conforme RFC 3986», quando precisar coincidir com um par não JavaScript que só mantém as seis marcas de pontuação não reservadas, ou quando quiser uma única ferramenta gratuita no navegador e uma API paga que concordem byte a byte na mesma função pura. O preço de chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação não são cobradas.
Como usar
Insira os dados no formulário acima. A ferramenta os verifica antes de calcular e mostra o resultado na mesma página.
Confira os dados
Use os rótulos e as unidades indicados em cada campo. Se algo estiver ausente ou fora do intervalo permitido, a página mostra o que corrigir.
Repita o cálculo ou automatize
Use a ferramenta web para verificações individuais e a API quando precisar da mesma capacidade em um fluxo automatizado.
Casos de uso
Obtenha uma resposta agora
Insira um conjunto de valores e veja o resultado sem montar uma planilha ou um script.
Compare cenários
Altere um valor por vez e repita o cálculo para entender o que muda o resultado.
Automatize tarefas repetidas
Use a API quando precisar executar o mesmo cálculo dentro do seu produto ou fluxo.
Perguntas frequentes
Como usar esta capacidade?
Preencha os campos acima e execute nesta página. O formulário destaca qualquer dado que precise de correção.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/url-rfc3986 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello world!'\''()"}'const res = await fetch("https://api.kit.forhosting.com/enc/url-rfc3986", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello world!'()"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/url-rfc3986",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello world!'()"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/url-rfc3986", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello world!\'()"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello world!'()"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/url-rfc3986", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "hello world!'()"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.url_rfc3986",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |