ForHosting KIT · Ferramentas para dev

Codificador e decodificador Base16 RFC 4648

Codifique texto em Base16 segundo a RFC 4648, o hexadecimal padrão em maiúsculas em que cada byte vira dois caracteres: Hello vira 48656C6C6F. Na decodificação, aceita dumps com espaços ou dois-pontos e recusa o que estiver malformado. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Texto
Hello
Modo de cálculo
Encode
Você obtém
Resultado
48656C6C6F
Entrada
Hello
Base 16
48656C6C6F
Hexadecimal
48656C6C6F

O RFC 4648 Base16 é a codificação hexadecimal padronizada em maiúsculas: cada byte de entrada vira exatamente dois caracteres do alfabeto 0-9 e A-F, sem preenchimento e sem glifos ambíguos. Esta ferramenta codifica texto UTF-8 simples nessa forma canônica de Base16 e decodifica strings hex Base16 de volta para texto, de modo que você pode colar em qualquer direção sem instalar uma biblioteca de criptografia. A codificação sempre emite dígitos em maiúsculas, como o padrão exige; a decodificação aceita ruídos comuns de colagem, como espaços, dois-pontos e letras maiúsculas e minúsculas misturadas, e depois normaliza e valida antes de converter.

O que é o RFC 4648 Base16 e como o alfabeto funciona

O Base16 é definido no RFC 4648 como uma codificação de binário para texto que mapeia cada octeto de oito bits para dois símbolos de um alfabeto de dezesseis caracteres: os dígitos decimais de zero a nove seguidos das letras latinas maiúsculas de A a F. Esse alfabeto é idêntico à conhecida notação hexadecimal em maiúsculas usada em documentos de protocolos, rastros de pacotes e muitos manuais de hardware.

A codificação percorre a entrada da esquerda para a direita, divide cada byte em um nibble alto e um baixo e mapeia cada nibble para um caractere do alfabeto, produzindo uma string cujo comprimento é sempre o dobro do número de bytes. Não há caractere de preenchimento nem regra de quebra de linha na codificação central; os consumidores que precisam de quebras de linha ou separadores os adicionam apenas para exibição. A decodificação inverte o mapeamento: cada dois dígitos hex consecutivos viram um byte.

Implementações que declaram conformidade com o RFC 4648 codificam com A–F em maiúsculas; muitos decodificadores também aceitam a–f em minúsculas por interoperabilidade com ferramentas que emitem letras misturadas. Espaços e separadores decorativos como dois-pontos, sublinhados ou hífens costumam aparecer em despejos editados à mão e devem ser removidos antes das verificações de comprimento e alfabeto; a string contínua restante deve ter comprimento par. Quando aparece um caractere fora de 0-9A-Fa-f, ou quando a contagem de dígitos é ímpar, o decodificador precisa falhar em voz alta.

Esta página é voltada para quem procura um codificador Base16, um conversor hex RFC 4648 ou codificação e decodificação hexadecimal em maiúsculas on-line; não é Base64, nem Base32, nem Base58, nem um conversor geral de bases para inteiros grandes arbitrários.

Dicas práticas, limites e diferenças em relação a outras codificações

Prefira encode quando você parte de texto legível ou de cargas UTF-8 curtas que quer como um despejo hex canônico em maiúsculas para especificações, tickets ou testes unitários. As verificações de ida e volta são o teste de fumaça mais rápido: codifique uma palavra conhecida como Hello, confirme o clássico resultado em maiúsculas 48656C6C6F, depois decodifique essa string e confirme que recupera a frase original byte a byte. Mantenha as cargas abaixo do limite de caracteres publicado; despejos de vários megabytes pertencem ao trabalho off-line ou a ferramentas binárias dedicadas.

Esta ferramenta não é Base64 nem Base64URL: esses alfabetos usam sessenta e quatro símbolos com preenchimento e empacotamento mais denso. Também não é Base58, que elimina glifos ambíguos para transcrição humana. E não é um conversor de bases de inteiros ou floats: para converter um único número hex em decimal ou binário, use as capacidades dedicadas de formatos numéricos em vez de tratar os dígitos como uma sequência opaca de bytes.

Prefira Base16 quando precisar de um despejo 1:1 visível por nibble que combine com o RFC 4648 e o hex dos livros; prefira Base64 quando a densidade importar mais que a legibilidade. Ao ensinar, mostre a mesma frase codificada em Base16 e Base64 lado a lado para que os alunos vejam por que o hex é mais longo, sempre de comprimento par, e por que A–F em maiúsculas é a forma padronizada na Tabela 5 do RFC 4648.

Depuração de logs e rastros de pacotes colados

Cole despejos hex com espaços ou dois-pontos, decodifique para texto legível quando a carga é UTF-8 ou recodifique após edições para verificações de ida e volta.

Ensino do RFC 4648 e da notação hexadecimal

Em sala de aula, codifica-se Hello para 48656C6C6F, inspeciona-se o alfabeto 0-9A-F e depois força-se comprimento ímpar ou caracteres inválidos para mostrar a validação estrita.

Qual alfabeto este codificador Base16 usa?

O alfabeto Base16 do RFC 4648: 0123456789ABCDEF. A codificação sempre produz A–F em maiúsculas; a decodificação também aceita a–f em minúsculas e separadores comuns.

Base16 é o mesmo que Base64?

Não. O Base16 mapeia cada byte para dois dígitos hex de um alfabeto de dezesseis símbolos. O Base64 usa sessenta e quatro símbolos, empacotamento mais denso e caracteres de preenchimento opcionais.

Isso converte inteiros hex grandes em decimal?

Não. Ele trata a entrada como uma sequência opaca de bytes segundo o RFC 4648 Base16, não como um único inteiro de precisão múltipla. Use as ferramentas de formatos numéricos para converter números inteiros de hex para decimal.

O codificador Base16 é gratuito?

A ferramenta do navegador é gratuita e roda localmente.

Posso decodificar hex com espaços, dois-pontos ou minúsculas?

Sim. Espaços, dois-pontos, sublinhados e hifens são removidos e as minúsculas de a a f são aceitas, então um dump copiado de um log é decodificado como está. O que sobra precisa ter um número par de dígitos.

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.

POSThttps://api.kit.forhosting.com/enc/base16-rfc4648

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/enc/base16-rfc4648 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello"}'
{
  "text": "Hello"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base16_rfc4648",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_chars100000
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Uma entrada malformada — um número ímpar de dígitos hex, um caractere fora do alfabeto ou bytes que não são UTF-8 válido — retorna um erro invalid_input claro em vez de corrupção silenciosa. O caminho é aritmética de bytes pura e determinística — sem rede, sem sementes aleatórias, sem relógio —, então o executor gratuito no navegador e a API pré-paga retornam o mesmo JSON sempre.

Como chamar a API e o que a resposta contém

O modo padrão é encode: os bytes UTF-8 de text viram uma string Base16 em maiúsculas segundo o alfabeto do RFC 4648. O modo decode trata text como uma carga Base16 — opcionalmente com espaços ou separadores de dois-pontos e letras misturadas — e retorna a string UTF-8 recuperada após a normalização. Envie um corpo JSON com um campo de string obrigatório text (aliases input, value e data) e um mode opcional que é encode ou decode. O comprimento da entrada é limitado a cem mil caracteres para que uma única solicitação não esgote a memória do Worker com despejos patológicos. Em caso de sucesso com encode, a resposta inclui mode, input, result além de base16 e hex com a mesma string codificada, alphabet com a constante de dezesseis caracteres 0123456789ABCDEF, alphabet_name com o valor rfc4648_base16, standard com RFC 4648 Base16, input_bytes como a contagem de bytes UTF-8, output_length como a contagem de caracteres codificados e uma mensagem breve em inglês. Em caso de sucesso com decode, a resposta inclui mode, input, result e text com a string UTF-8 decodificada, base16_normalized com a forma contínua em maiúsculas, os mesmos campos alphabet e standard, input_length, output_bytes e uma mensagem correspondente. Uma validação malsucedida — text ausente, text que não é string, entrada acima do limite, um mode desconhecido, um comprimento hex ímpar, um caractere Base16 inválido ou bytes decodificados que não são UTF-8 válido — retorna invalid_input e nunca é cobrada. O preço é uma taxa fixa de US$ 0,002 por solicitação bem-sucedida, com unidade item e preço marginal por unidade zero.

Dicas práticas, limites e diferenças em relação a outras codificações

Envie de propósito uma string hex de comprimento ímpar ou um glifo não hex como G ou Z em uma solicitação decode para garantir que seu cliente trata invalid_input e a mensagem de erro que cita a regra. Tarefas malsucedidas que retornam invalid_input não consomem saldo pré-pago, o que mantém baratos os scripts exploratórios ao testar hex malformado.

Despejos hex de protocolos e fixtures em testes

Gere Base16 canônico em maiúsculas a partir de texto de fixtures e verifique se decode recupera os mesmos bytes UTF-8 em CI sem dependência de criptografia.

O que acontece se eu decodificar uma string hex de comprimento ímpar ou um caractere não hex?

A API retorna invalid_input, explica o comprimento ímpar ou cita o caractere inválido e seu índice, e lembra que o Base16 precisa de um número par de dígitos 0-9A-F. Tarefas malsucedidas não são cobradas.

Ver a documentação completa do KIT →