Entrar
Codificação e Decodificação de URL

Codificação e Decodificação de URL

相关工具 TODO
1
2
3

O que é a codificação de URL?

A codificação de URL (também conhecida como codificação por percentagem) é um método para converter caracteres especiais num formato que pode ser transmitido de forma segura num URL.Uma vez que os URLs apenas podem conter um conjunto específico de caracteres ASCII, quaisquer caracteres fora desse conjunto precisam de ser codificados.

Principais características:

  • Transmissão segura: Garante que os caracteres especiais e não ASCII são transmitidos corretamente nos URLs
  • Formato padronizado: Utiliza o formato %XX, em que XX é a representação hexadecimal do caractere
  • Amplo suporte: Suportado por todos os navegadores e servidores web modernos
  • Conversão reversível: Os dados codificados podem ser totalmente restaurados para o seu conteúdo original

Regras de codificação:

A codificação de URL converte caracteres não seguros para o formato % seguido por dois dígitos hexadecimais:

  • O espaço é codificado como %20
  • Os caracteres chineses são primeiro codificados em UTF-8 e depois com a codificação por percentagem
  • Caracteres reservados (como ?, &, = etc.) precisam de ser codificados em contextos específicos

Cenários de aplicação comuns:

  1. Passagem de parâmetros de URL: Transmitir valores de parâmetros que contêm caracteres especiais na cadeia de consulta
  2. Submissão de dados de formulário: Os dados são codificados automaticamente quando um formulário HTML é submetido
  3. Chamadas de API: Garantir que os parâmetros passados para uma API estão no formato correto
  4. Manuseamento de nomes de ficheiro: Lidar com nomes de ficheiro que contêm caracteres especiais
  5. Consultas de pesquisa: Pesquisar conteúdo que contém caracteres especiais nos motores de busca

Exemplos de utilização

Codificação de texto básica

Texto original: Hello World!

Após a codificação: Hello%20World%21

Codificação de caracteres chineses

Texto original: 你好世界

Após a codificação: %E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C

Exemplo de parâmetro de URL

URL original:

https://example.com/search?q=编程 & 开发&category=技术

URL codificado corretamente:

https://example.com/search?q=%E7%BC%96%E7%A8%8B%20%26%20%E5%BC%80%E5%8F%91&category=%E6%8A%80%E6%9C%AF

Tabela de codificação de caracteres especiais

CaractereResultado da codificaçãoDescrição
Espaço%20O caractere codificado mais comum
!%21Ponto de exclamação
@%40Símbolo arroba
#%23Sinal de cardinal (identificador de âncora)
$%24Símbolo do dólar
%%25Sinal de percentagem (precisa de ser codificado para evitar conflitos)
&%26E comercial (separador de parâmetros)
=%3DSinal de igual (separador de chave-valor)
?%3FPonto de interrogação (início da cadeia de consulta)
/%2FBarra (separador de caminho)

Cenários de aplicação prática

1. Funcionalidade de pesquisa

// Pesquisa do utilizador: "Comparação de frameworks React & Vue"\nconst searchQuery = encodeURIComponent('Comparação de frameworks React & Vue')\nconst url = `https://api.example.com/search?q=${searchQuery}`\n// Resultado: https://api.example.com/search?q=Compara%C3%A7%C3%A3o%20de%20frameworks%20React%20%26%20Vue

2. Transferência de ficheiros

// Nome do ficheiro a transferir contém caracteres especiais: "Documentação do projeto.pdf"\nconst filename = encodeURIComponent('Documentação do projeto.pdf')\nconst downloadUrl = `https://example.com/download?file=${filename}`

3. Transmissão de informações do utilizador

// Nome do utilizador: "João Silva", E-mail: "joao@example.com"\nconst name = encodeURIComponent('João Silva')\nconst email = encodeURIComponent('joao@example.com')\nconst profileUrl = `https://example.com/profile?name=${name}&email=${email}`

Precauções

Lembrete importante: A codificação de URL não é um método de encriptação. Os dados codificados podem ser facilmente descodificados.Serve apenas para garantir a transmissão correta dos dados num URL e não deve ser usada para proteger informações sensíveis.

Perguntas frequentes:

  1. Codificação dupla: Evite codificar uma cadeia de caracteres que já foi codificada
  2. Quando codificar: A codificação deve ser feita ao construir o URL, não ao receber os dados
  3. Problemas com o conjunto de caracteres: Certifique-se de usar a codificação UTF-8 para lidar com caracteres não ASCII, como os caracteres portugueses
  4. Caracteres reservados: Saiba que caracteres precisam de ser codificados nas diferentes partes de um URL

Melhores práticas:

  • Codifique sempre os dados introduzidos pelo utilizador antes de construir um URL
  • Utilize funções de codificação padrão (como encodeURIComponent() do JavaScript)
  • Descodifique corretamente os dados recebidos no lado do servidor
  • Teste cenários que incluam vários caracteres especiais e não ASCII