Saltar para o conteúdo
BCBinary Code Translator
Menu

Variante Base64 segura para URL

Codificador/descodificador de Base64url

Converta texto UTF-8 usando a variante URL-safe da RFC 4648, com - e _ no lugar de + e / e controlo explícito do preenchimento =.

O texto é processado apenas neste navegador e não é enviado a um servidor.

Direção da conversão
0 carateres
0 carateres

A conversão ocorre localmente neste navegador. A entrada não é enviada.

Ainda não há resultado.

O que Base64url altera

Base64url é a variante adequada a URLs e nomes de ficheiro definida na RFC 4648. Mantém o mesmo agrupamento de bits do Base64 comum, mas troca + por - e / por _.

O preenchimento = continua definido, mas muitos protocolos omitem-no porque o comprimento pode ser inferido. Esta ferramenta permite escolher a forma emitida e aceita ambas na descodificação quando o comprimento é válido.

Texto Unicode é codificado como UTF-8. Base64url não torna dados secretos e não aplica percent-encoding de URL.

Como usar Base64url

  1. Escolha Codificar para texto ou Descodificar para uma cadeia Base64url.
  2. Ative preenchimento quando o protocolo exigir comprimento múltiplo de quatro; desative para formatos como segmentos compactos de token.
  3. Cole o valor sem espaços, + ou /.
  4. Compare a saída com Base64 comum quando os bytes gerarem os carateres 62 ou 63.
  5. Inverta a direção para confirmar a recuperação do texto UTF-8.

Exemplos Base64url com e sem preenchimento

Os exemplos destacam UTF-8, preenchimento opcional e a diferença do alfabeto Base64 comum.

Entrada Saída Direção da conversão Notas
Hello SGVsbG8= Codificar Incluir preenchimento: Com preenchimento — Hello com preenchimento. Este texto não usa os dois carateres do alfabeto que diferem do Base64 comum.
Hello SGVsbG8 Codificar Incluir preenchimento: Sem preenchimento — Hello sem preenchimento. A RFC 4648 permite omitir o preenchimento quando o comprimento dos dados é conhecido.
SGVsbG8 Hello Descodificar Descodificar qualquer estilo de preenchimento. O descodificador repõe internamente o preenchimento necessário antes de reconstruir os bytes.
4KC- Codificar Incluir preenchimento: Com preenchimento — Caráter do alfabeto seguro para URL. Este caráter UTF-8 válido produz um hífen final em Base64url, onde o Base64 comum usa +.
你好 5L2g5aW9 Codificar Incluir preenchimento: Sem preenchimento — Unicode em UTF-8. O texto Unicode é convertido em bytes UTF-8 antes da codificação Base64url.
{"ok":true} eyJvayI6dHJ1ZX0 Codificar Incluir preenchimento: Sem preenchimento — Texto JSON compacto. Codificar JSON não o assina, valida nem cifra; representa apenas os respetivos bytes UTF-8.

Alfabeto e preenchimento aceites

A descodificação aceita letras, dígitos, - e _, além de zero a dois sinais = apenas no final. Os espaços e o alfabeto + / são rejeitados para manter a variante explícita.

Um comprimento com resto um na divisão por quatro é impossível. Quando aparece =, a quantidade tem de ser exatamente a necessária.

  • Use - em vez de +.
  • Use _ em vez de /.
  • O preenchimento só pode estar no final.
  • Um comprimento com resto 1 é inválido.
  • Bits finais não canónicos são rejeitados.

Como Base64url funciona

Três bytes formam vinte e quatro bits, divididos em quatro grupos de seis. Esses índices usam o alfabeto Base64url.

Um ou dois bytes finais produzem dois ou três símbolos de dados. O preenchimento opcional completa quatro posições sem carregar informação adicional.

Na descodificação, a ferramenta restaura temporariamente o preenchimento, converte - e _ para o alfabeto comum, valida a forma e exige UTF-8 válido.

Onde Base64url aparece

Base64url é adequado quando dados binários precisam ser incorporados em componentes que tratam + e / de forma especial.

Caso Descrição
JWT e JWS Segmentos usam Base64url sem preenchimento, junto com regras criptográficas externas.
Parâmetros de URL Reduz a necessidade de escapar + e /, embora o URL completo continue a ter sintaxe própria.
Identificadores opacos Bytes aleatórios podem ser serializados em texto compacto.
Nomes de ficheiro O alfabeto evita separadores de caminho comuns.
Testes de API Ajuda a detetar confusão entre Base64 comum e Base64url.

Erros comuns de Base64url

Copiar Base64 comum com + ou /, acrescentar espaços ou usar quantidade errada de = são os problemas mais frequentes.

Uma cadeia pode descodificar em bytes corretos e ainda não ser texto UTF-8. Tokens também exigem validação de estrutura e assinatura fora desta ferramenta.

  • Não troque Base64url por percent-encoding.
  • Não presuma que remover = sempre corrige um valor.
  • O caráter + não é aceite.
  • Uma cadeia de comprimento 1 módulo 4 é impossível.
  • Codificação não implica autenticidade.

Base64url, Base64 comum e URL encoding

Base64url e Base64 comum representam os mesmos bits com dois símbolos diferentes. URL encoding trabalha sobre carateres de uma URL e usa sequências %HH.

Base32 é mais longo e usa alfabeto menor; Base58 elimina carateres ambíguos, mas utiliza outro algoritmo.

Caso Descrição
Base64 comum Usa + e / e normalmente mantém preenchimento.
URL encoding Escapa bytes reservados com %, não é uma variante Base64.
Base32 Usa cinco bits por símbolo e letras A-Z com 2-7.

Perguntas frequentes sobre Base64url

Base64url segue a RFC 4648?

Sim. Usa - e _ e permite preenchimento opcional conforme o perfil do protocolo.

Qual é a diferença para Base64 comum?

Apenas os símbolos 62 e 63 mudam: + / tornam-se - _.

Posso remover todos os sinais =?

Pode quando o protocolo aceite a forma não preenchida; os dados permanecem iguais.

JWT é apenas Base64url?

Não. JWT também define JSON, segmentos e, em muitos casos, assinatura ou criptografia.

Porque é que + é rejeitado?

Para evitar aceitar silenciosamente a variante Base64 comum.

Base64url protege os dados?

Não. É reversível e não oferece segredo nem integridade.

Ferramentas relacionadas de codificação e carateres

Ver todas as ferramentas

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE