Codificador de URL
Codifique texto ou um URL com codificação por percentagem ao estilo de JavaScript. Introduza um valor em Texto ou URL para obter uma cadeia codificada que pode copiar.
Ferramenta de codificação de texto em URL
Fórmula do codificador de URL
Onde:
- \(S\) — o valor introduzido em Texto ou URL.
- \(E\) — o resultado codificado mostrado sob URL Codificada.
A calculadora remove os espaços em branco no início e no fim e, em seguida, aplica a função encodeURIComponent de JavaScript. Os caracteres que precisam de ser codificados são representados por um sinal de percentagem seguido de dígitos hexadecimais correspondentes a cada byte UTF-8.
Codificador de URL – Exemplo de cálculo
Exemplo: Introduza o valor predefinido, https://calcdash.com/tools?utm_source=chat, em Texto ou URL.
\[ \operatorname{encodeURIComponent}(S) = \texttt{https\%3A\%2F\%2Fcalcdash.com\%2Ftools\%3Futm\_source\%3Dchat} \]
Resultado: https%3A%2F%2Fcalcdash.com%2Ftools%3Futm_source%3Dchat.
Como usar o codificador de URL
- Introduza ou cole o valor que pretende codificar em Texto ou URL. Pode ser uma palavra, um valor de parâmetro de consulta, um segmento de caminho ou um URL completo.
- Leia o resultado sob URL Codificada. A calculadora codifica o valor inteiro introduzido, depois de remover os espaços em branco no início e no fim.
- Copie o resultado e coloque-o onde for necessário um valor codificado. Se introduziu um URL completo, não assuma que o resultado é uma ligação que pode abrir diretamente; os seus caracteres estruturais também foram codificados.
O que faz a codificação de URL
A codificação por percentagem representa determinados caracteres com um sinal de percentagem e dígitos hexadecimais. Permite que os dados incluam caracteres que, de outra forma, teriam um significado especial num URL. Por exemplo, um espaço torna-se %20, um «e» comercial torna-se %26 e um sinal de percentagem literal torna-se %25. Cada byte codificado tem a sua própria sequência de percentagem, pelo que um carácter fora do intervalo ASCII pode produzir várias sequências.
Esta calculadora usa encodeURIComponent, que se destina a um componente individual de um URL. Codifica separadores como :, /, ?, & e =. Isso torna-a útil quando um valor não deve ser confundido com parte da estrutura do URL. Por exemplo, codificar o valor de consulta red shoes & boots dá red%20shoes%20%26%20boots. O «e» comercial continua a fazer parte do valor, em vez de separar dois parâmetros.
O exemplo predefinido mostra por que motivo a distinção importa: codificar um URL completo transforma https:// em https%3A%2F%2F. O resultado é uma cadeia codificada que representa esse URL, não o mesmo URL navegável. Se estiver a montar uma ligação, mantenha os separadores estruturais intactos e codifique apenas os valores que precisam disso. Para transformar texto codificado de volta em texto legível, use o Descodificador de URL.
Pressupostos e dicas práticas
- Os espaços em branco exteriores são removidos. A calculadora corta espaços e outros espaços em branco envolventes antes de codificar. Os espaços em branco dentro do valor mantêm-se; os espaços internos comuns tornam-se
%20. Se os espaços iniciais ou finais forem dados significativos, esta ferramenta não os preservará. - Alguns caracteres permanecem inalterados. Letras, dígitos e
- _ . ! ~ * ' ( )não são codificados porencodeURIComponent. Um carácter inalterado não significa que a calculadora tenha ignorado a entrada. - Codifique um valor apenas uma vez. Uma sequência existente como
%20contém um sinal de percentagem literal. Codificá-la novamente produz%2520. Descodifique primeiro se precisar de substituir um valor já codificado. - Aqui os espaços não são sinais de adição. Esta ferramenta devolve
%20para um espaço e%2Bpara um sinal de adição literal. Algumas submissões de formulários HTML usam+para espaços; esta calculadora não aplica essa convenção de codificação de formulários. - Codificar não é encriptar. Qualquer pessoa pode descodificar o resultado, por isso não o use para ocultar palavras-passe ou outras informações sensíveis. Um valor de texto raro e malformado, contendo um substituto UTF-16 não emparelhado, também pode fazer com que a codificação de JavaScript falhe.
Se primeiro precisar de recolher ligações de um trecho de texto maior, use o Extrator de URL. Se a sua tarefa exigir Base64 em vez de codificação por percentagem, use o Codificador Base64; os dois formatos servem para propósitos diferentes e produzem resultados diferentes.
Perguntas frequentes
Como posso codificar texto em URL manualmente?
Converta cada carácter que precisa de codificação nos seus bytes UTF-8 e escreva cada byte como um sinal de percentagem seguido de dois dígitos hexadecimais. Por exemplo, um espaço comum é o byte 20 em hexadecimal, por isso torna-se %20. Deixe os caracteres permitidos inalterados. Para cadeias mais longas, uma ferramenta é mais segura, porque um único carácter visível pode ocupar vários bytes.
Qual é a diferença entre encodeURI e encodeURIComponent?
O encodeURI de JavaScript destina-se a um URL completo e deixa inalterados caracteres estruturais como :, /, ? e &. O encodeURIComponent codifica esses caracteres porque trata a entrada como um único valor. Use encodeURIComponent para um valor de parâmetro de consulta ou um segmento de caminho; use uma API de construção de URLs quando precisar de montar uma ligação completa.
Como são codificadas em URL as letras acentuadas e os emojis?
São convertidos em bytes UTF-8 antes da codificação por percentagem. Por exemplo, «é» torna-se %C3%A9 porque a sua representação UTF-8 tem dois bytes. Um emoji pode exigir quatro sequências de percentagem. O número de sequências reflete o número de bytes, não o número de caracteres que vê no ecrã.
Como codifico vários parâmetros de consulta sem codificar os seus separadores?
Codifique separadamente cada nome e cada valor de parâmetro e, depois, una cada par com = e os pares entre si com &. Em JavaScript, o URLSearchParams pode fazer essa montagem por si, embora possa mostrar os espaços como + segundo as regras de codificação de formulários. Não codifique a cadeia de consulta montada como um único componente: isso codificaria também os seus separadores.
e são equivalentes num URL?
Sim. As letras hexadecimais nas sequências de percentagem não distinguem maiúsculas de minúsculas, por isso %2F e %2f representam ambas o byte de barra. Os codificadores produzem com frequência letras maiúsculas. Tenha, no entanto, cuidado com o local onde coloca uma barra codificada: servidores e sistemas de encaminhamento podem interpretá-la de forma diferente após a descodificação, sobretudo dentro de um segmento de caminho.
Codificar em URL é o mesmo que substituir caracteres por entidades HTML?
Não. A codificação por percentagem é usada dentro de URLs; as entidades HTML são usadas ao escrever HTML. Por exemplo, um «e» comercial literal num valor de URL torna-se %26, enquanto um «e» comercial no código-fonte HTML pode ser escrito como &. Se um URL aparecer em HTML, ambas as regras podem ser relevantes em fases diferentes. Não substitua uma entidade HTML por um valor de URL codificado em percentagem.