ForHosting KIT · Ferramentas para dev

Codificador e decodificador Base58

“Hello World” vira JxF12TrwUP45BMd em Base58, com o alfabeto do Bitcoin de 58 caracteres sem zero, O maiúsculo, I maiúsculo nem l minúsculo, para que os códigos fiquem legíveis no papel e na tela. Também decodifica. 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 World
Modo de cálculo
Encode
Você obtém
Resultado
JxF12TrwUP45BMd
Entrada
Hello World
Resultado em Base58
JxF12TrwUP45BMd
Nome do alfabeto
bitcoin

Um codificador Base58 transforma texto UTF-8 comum em uma cadeia compacta que usa apenas cinquenta e oito caracteres inequívocos, e um decodificador Base58 reverte esse mapeamento para que você recupere o texto original. Esta ferramenta usa o alfabeto Bitcoin: dígitos e letras sem o zero, o O maiúsculo, o I maiúsculo e o L minúsculo, os quatro glifos que as pessoas mais confundem ao ler anotações manuscritas, impressões de QR ou endereços de carteira. Desenvolvedores verificam cadeias semelhantes a endereços, professores demonstram bases alternativas, e scripts precisam de idas e voltas determinísticas sem instalar uma biblioteca de criptografia.

O que é o Base58 do Bitcoin e por que esses quatro caracteres estão ausentes

Base58 é uma codificação de binário para texto que mapeia uma sequência arbitrária de bytes em um alfabeto de cinquenta e oito símbolos. Diferente do Base64, ele descarta caracteres difíceis de distinguir na impressão e na fala: o dígito zero, a letra O maiúscula, a letra I maiúscula e a letra L minúscula.

O projeto Bitcoin popularizou uma ordenação concreta dos símbolos restantes — de um a nove, depois A–Z sem I e O, depois a–z sem l — e é essa ordenação que carteiras, muitos exploradores de blockchain e esta capacidade usam. A codificação percorre os bytes de entrada como um inteiro big-endian em base duzentos e cinquenta e seis, divide repetidamente por cinquenta e oito e mapeia cada resto para o alfabeto; bytes zero à esquerda viram uns à esquerda na saída, a mesma convenção que os endereços Bitcoin seguem.

A decodificação inverte o mapeamento: cada caractere vira um dígito de zero a cinquenta e sete, o inteiro grande é reconstruído e o array de bytes é recuperado com a mesma regra do um à esquerda. Como o alfabeto não tem caractere de preenchimento, o comprimento por si só não implica um tamanho fixo de bloco como no Base64; as idas e voltas ainda funcionam desde que ambos os lados concordem com o alfabeto e a convenção de zeros à esquerda.

Quando aparece um caractere fora do alfabeto — zero, O, I, l, pontuação ou espaço em branco —, o decodificador deve falhar ruidosamente. Uma substituição silenciosa inventaria uma carga diferente e é pior que um erro duro para carteiras, checksums e testes automatizados. Esta landing atende quem busca um codificador Base58, decodificador Base58 ou conversor do alfabeto Bitcoin online; não é Base64, não é Base32 e não é um validador completo de endereços Bitcoin com bytes de versão e checksums.

Dicas práticas, limites e como isto difere do Base64

Verificações de ida e volta são o teste de fumaça mais rápido: codifique uma frase conhecida como Hello World, confirme o resultado clássico JxF12TrwUP45BMd, depois decodifique essa cadeia e confirme que recupera a frase original byte a byte. Mantenha as cargas abaixo do limite de caracteres publicado; cadeias extremamente longas se expandem como inteiros grandes e é melhor dividi-las ou tratá-las offline. Esta ferramenta não é um analisador de endereços Bitcoin: ela não remove um prefixo de versão, não recalcula um checksum SHA256 duplo nem classifica mainnet versus testnet.

Também não é Base64 nem Base64URL — esses alfabetos incluem sinal de mais, barra e preenchimento de sinal de igual, e mantêm o zero e o O maiúsculo. Prefira Base58 quando a segurança na transcrição humana importa mais que a densidade; prefira Base64 quando você precisa do máximo de bits por caractere e transporte apenas entre máquinas.

Ao ensinar, mostre a mesma frase codificada em Base58 e Base64 lado a lado, para que os alunos vejam por que o alfabeto Bitcoin parece diferente e por que os erros de copiar e colar diminuem quando os quatro glifos ambíguos desaparecem.

Códigos curtos seguros para impressão e QR

Codifique rótulos curtos para que códigos impressos evitem a confusão 0/O/I/l quando a equipe os digita a partir de papel ou de câmeras de celular.

Ensino de bases alternativas e do alfabeto Bitcoin

Salas de aula e oficinas codificam Hello World, inspecionam o alfabeto e depois forçam caracteres inválidos para mostrar a validação estrita.

Qual alfabeto este codificador Base58 usa?

O alfabeto Bitcoin: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Ele exclui 0, O, I e l.

Base58 é o mesmo que Base64?

Não. O Base64 usa sessenta e quatro símbolos, incluindo +, / e o preenchimento =, e mantém 0 e O. O Base58 elimina glifos ambíguos e é comum em cadeias no estilo Bitcoin.

Esta ferramenta valida endereços Bitcoin completos?

Não. Ela apenas codifica e decodifica texto UTF-8 bruto sob o alfabeto Base58 do Bitcoin. Não verifica bytes de versão nem checksums SHA256 duplo.

O codificador Base58 é gratuito?

A ferramenta no navegador é gratuita e roda localmente.

Por que minha sequência Base58 é recusada ao decodificar?

Porque ela tem um caractere fora do alfabeto do Bitcoin, como zero, O ou I maiúsculos, l minúsculo, pontuação ou espaço. O decodificador para com uma mensagem clara em vez de transformá-la em outro texto sem avisar.

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

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

Escolha encode para converter texto simples em Base58, ou decode para recuperar UTF-8 de uma carga Base58; caracteres fora do alfabeto retornam um erro invalid_input claro em vez de corrupção silenciosa. O caminho é aritmética pura e determinística sobre bytes UTF-8 — sem rede, sem sementes aleatórias, sem dependência de relógio —, portanto 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 cadeia Base58 sob o alfabeto Bitcoin. O modo decode trata text como uma carga Base58 e devolve a cadeia UTF-8 recuperada. Envie um corpo JSON com um campo de cadeia obrigatório text (aliases input, value e data) e um mode opcional que pode ser encode ou decode. O comprimento da entrada é limitado a cem mil caracteres, para que uma única requisição não esgote a memória do Worker em expansões patológicas de inteiros grandes. Em caso de sucesso no encode, a resposta inclui mode, input, result e base58 com a mesma cadeia codificada, alphabet com a constante completa de cinquenta e oito caracteres, alphabet_name definido como bitcoin, input_bytes como a contagem de bytes UTF-8, output_length como a contagem de caracteres codificados e uma mensagem curta em inglês. Em caso de sucesso no decode, a resposta inclui mode, input, result e text com a cadeia UTF-8 decodificada, os mesmos campos de alfabeto, input_length, output_bytes e uma mensagem correspondente. Falhas de validação — text ausente, text que não é cadeia, entrada acima do limite, mode desconhecido, caractere Base58 inválido ou bytes decodificados que não são UTF-8 válido — retornam invalid_input e nunca são cobradas. O preço é uma taxa fixa de US$ 0,002 por requisição bem-sucedida com unidade item e preço unitário marginal zero.

Dicas práticas, limites e como isto difere do Base64

Inclua deliberadamente um caractere proibido — dígito zero, O maiúsculo, I maiúsculo ou L minúsculo — em uma requisição de decode para garantir que seu cliente trata o invalid_input e a mensagem de erro que indica o índice e os glifos excluídos. Tarefas que falham com invalid_input não consomem saldo pré-pago, o que mantém scripts exploratórios baratos quando você testa caracteres inválidos do alfabeto.

Idas e voltas de carteiras e fixtures em testes

Gere cadeias Base58 conhecidas a partir de textos de fixture e garanta que o decode recupera os mesmos bytes UTF-8 na CI sem dependência de criptografia.

O que acontece se eu decodificar uma cadeia com 0, O, I ou l?

A API retorna invalid_input, indica o caractere inválido e seu índice, e lembra que o Base58 do Bitcoin exclui esses quatro glifos. Tarefas com falha não são cobradas.

Ver a documentação completa do KIT →