ForHosting KIT · Ferramentas para dev

Codificador e decodificador Base45

“AB” vira BB8 em Base45, a codificação do RFC 9285 que mantém os dados dentro dos 45 caracteres que um código QR lê no modo alfanumérico, como fazem os certificados digitais de COVID da UE. Também decodifica Base45 para texto. 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
AB
Modo de cálculo
Encode
Você obtém
Resultado
BB8
Codificação
base45
Bytes de entrada
2
Bytes de saída
3

Este codificador Base45 converte texto simples em Base45 conforme a RFC 9285 e decodifica strings Base45 de volta para texto UTF-8, usando o alfabeto alfanumérico de quarenta e cinco caracteres do QR Code. O esquema alimenta os Certificados Digitais COVID da UE e outras credenciais verificáveis em QR que precisam carregar dados binários sem sair do conjunto de caracteres seguro para QR. O mecanismo é totalmente determinístico: a mesma entrada e o mesmo modo sempre produzem o mesmo resultado, sem chamadas de rede, sem sais aleatórios e sem atalhos dependentes de data. Verificações clássicas incluem a codificação de AB para BB8, Hello!! para uma string que inclui um espaço, e base-45 para UJCLQE7W581.

O que é Base45 e o que esta ferramenta retorna

Base45 é a codificação binário-para-texto definida na RFC 9285 para dados que viajarão dentro de códigos QR no modo Alfanumérico. O alfabeto é o conjunto fixo de quarenta e cinco caracteres: zero a nove, A a Z, espaço, cifrão, porcentagem, asterisco, mais, menos, ponto, barra e dois-pontos.

A codificação interpreta cada par de bytes de entrada como um inteiro sem sinal de dezesseis bits, n igual a a vezes duzentos e cinquenta e seis mais b, então escreve n como três dígitos de base quarenta e cinco, com o dígito menos significativo à esquerda. Um byte final restante vira apenas dois dígitos. Esse design combina melhor com o empacotamento alfanumérico de QR do que o Base64, que precisa de mais, barra e preenchimento, que são incômodos no modo alfanumérico de QR.

Esta página sempre segue esse contrato: o modo encode codifica seu texto em UTF-8, empacota os bytes, e retorna apenas caracteres do alfabeto; o modo decode reverte o processo e rejeita caracteres fora do alfabeto, grupos incompletos cujo comprimento módulo três é um, e qualquer trinca de três caracteres cujo valor numérico exceda sessenta e cinco mil quinhentos e trinta e cinco.

Como texto e modo são interpretados e como os resultados permanecem reproduzíveis

O encode aceita qualquer string Unicode, converte com o TextEncoder da plataforma para bytes UTF-8, e então emite grupos Base45 conforme especificado acima. O decode exige uma string Base45 pura: comprimento módulo três igual a um é rejeitado, porque não pode representar um número inteiro de bytes, e qualquer caractere fora do alfabeto falha com um índice e caractere claros.

Depois que os dígitos são recuperados, cada trinca é verificada contra o teto de dezesseis bits, então strings como GGW, que decodificariam acima de sessenta e cinco mil quinhentos e trinta e cinco, falham em vez de estourar. Caudas de dois caracteres devem decodificar para um único byte de no máximo duzentos e cinquenta e cinco. Uma decodificação UTF-8 fatal garante então que lixo binário não vire texto ilegível (mojibake).

Onde o Base45 é usado em códigos QR

Equipes de frontend decodificam segmentos Base45 escaneados durante depuração de integração, sem colar dados em scripts improvisados que acidentalmente usam o alfabeto errado. Serviços de backend codificam pequenos blobs binários antes de colocá-los em geradores de QR que só aceitam o modo alfanumérico. Engenheiros de qualidade geram pares determinísticos de codificação e decodificação para testes de contrato, para que um middleware que afirma suportar Base45 não possa trocar tabelas silenciosamente ou aceitar trincas com valor acima do permitido.

Educadores usam a mesma ferramenta ao ensinar como o modo alfanumérico de QR, pares de símbolos de quinze bits, e o Base45 interagem, incluindo os exemplos clássicos da RFC AB para BB8 e Hello!! com seu espaço embutido.

Como o Base45 é diferente do Base64?

O Base45 usa o alfabeto alfanumérico de QR de 45 caracteres e empacota dois bytes em três caracteres. Não tem preenchimento e foi projetado para códigos QR, não para e-mail ou segmentos JWT.

O que é uma trinca Base45 inválida?

Um grupo de três caracteres cujo valor excede 65535 (por exemplo, GGW).

O resultado é determinístico?

Sim. O mesmo texto e o mesmo modo sempre produzem o mesmo resultado, sem rede, aleatoriedade ou comportamento dependente de data.

Por que o resultado em Base45 tem espaços?

Porque o espaço é um dos 45 caracteres do Base45, ao lado dos dígitos, das letras maiúsculas e de símbolos como $, %, * e +. “Hello!!” gera uma sequência com um espaço, então copie o resultado inteiro, com os espaços, antes de decodificar.

Quanto o Base45 aumenta o tamanho do texto?

Cada dois bytes viram três caracteres, e um byte que sobra no final vira dois. Por isso “AB”, que tem dois bytes, vira BB8. Para códigos QR, fica mais compacto que o Base64 sem sair do modo alfanumérico.

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/base45

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/base45 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"AB"}'
{
  "text": "AB"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.base45",
  "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.

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.

O Base45 empacota dois bytes em três caracteres, e um byte restante em dois caracteres, o que é mais compacto para payloads de QR do que o Base64, permanecendo dentro do modo alfanumérico que os leitores já esperam. Escolha encode para transformar uma mensagem, fragmento CBOR, ou string de teste em Base45, ou escolha decode para recuperar o texto UTF-8 original a partir de um payload de credencial que você já tem. Use gratuitamente no navegador para depuração de credenciais e ensino, ou chame a API por US$ 0,002 a cada solicitação bem-sucedida quando pipelines precisarem de transformações Base45 reproduzíveis em CI e serviços de backend.

O que é Base45 e o que esta ferramenta retorna

A resposta em JSON inclui result para a string transformada, mode ecoando encode ou decode, encoding fixado em base45, e input_bytes mais output_bytes para que você possa verificar tamanhos em testes. Não há caminho de streaming nem fallback silencioso para Base64: ou a string é um texto Base45 válido, ou a solicitação falha com invalid_input. Se você precisa do Base64url padrão para JWTs, use um endpoint dedicado de Base64url; esta página é apenas para o alfabeto da RFC 9285 usado por credenciais verificáveis em QR.

Como texto e modo são interpretados e como os resultados permanecem reproduzíveis

O campo de payload preferido é text, com os aliases input, value e s, para que formulários, strings de consulta e clientes de SDK possam reutilizar o mesmo contrato sem renomear colunas. Mode assume encode por padrão e aceita decode explicitamente; os aliases op, direction e action mapeiam para a mesma alternância, para scripts que já usam esses nomes. Combine a execução gratuita no navegador desta página com a API paga quando precisar do mesmo resultado matemático dentro de um pipeline automatizado, sem reimplementar as tabelas Base45 você mesmo. Entradas inválidas retornam invalid_input e não são cobradas, o que mantém a validação barata enquanto as transformações bem-sucedidas permanecem com um preço fixo de US$ 0,002.

Onde o Base45 se encaixa em credenciais de QR, APIs e fixtures de teste

Nesta página o trabalho roda inteiramente no seu navegador; pela API, cada consulta bem-sucedida custa US$ 0,002, a validação com falha não é cobrada, e nada é armazenado depois que a resposta é devolvida. Essa divisão — exploração interativa gratuita e uma API paga e idêntica — segue o padrão do resto do catálogo tier A do KIT e permite passar de uma demonstração em sala de aula para um pipeline automatizado sem mudar o resultado codificado. Combine-a com auxiliares de CBOR ou certificados quando precisar de passos relacionados de credencial, e com outros endpoints de codificação ao montar um pequeno laboratório de ferramentas de texto gratuitas e determinísticas.

Credenciais verificáveis em QR

Codifique ou decodifique payloads Base45 da RFC 9285 usados por Certificados Digitais COVID da UE e outras credenciais verificáveis via QR.

Fixtures alfanuméricas de QR

Transforme texto curto seguro para binário em Base45, para que geradores de QR usem o modo Alfanumérico sem sair do alfabeto de 45 caracteres.

Fixtures determinísticas de CI

Gere strings Base45 reproduzíveis para testes unitários, arquivos golden e verificações de contrato entre serviços de carteira e leitor.

Quanto custa o codificador Base45?

É gratuito no navegador, nesta página. Pela API, uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.

Quais modos são suportados?

mode=encode (padrão) transforma texto simples em Base45. mode=decode transforma uma string Base45 de volta em texto UTF-8.

Ver a documentação completa do KIT →