Codificador Base36
255 em base 36 é 73: este conversor transforma números inteiros em códigos curtos com algarismos e letras de A a Z, e os traz de volta para decimal quando você precisar. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Valor a converter
- 255
- Direção da conversão
- to_base36
- Decimal
- 255
- String decimal
- 255
- Base36
- 73
- Base36 minúsculo
- 73
Este codificador Base36 converte um número inteiro em uma string base 36, ou uma string base 36 de volta a um inteiro decimal, usando o alfabeto clássico de dígitos zero a nove e letras A a Z. A base 36 é um sistema posicional compacto, frequentemente usado para códigos curtos, sufixos de fatura, tokens de URL, e exercícios educacionais de valor posicional, quando você quer mais densidade que o decimal sem pular para hexadecimal ou base sessenta e quatro. Não há chamadas de rede, amostras aleatórias, ou atalhos dependentes do relógio.
O que significa a conversão base 36 e o que a resposta contém
Base 36 é um sistema inteiro posicional que usa trinta e seis símbolos: os dígitos decimais zero a nove para valores zero a nove, e depois as letras A a Z para valores dez a trinta e cinco. Cada posição multiplica seu dígito por uma potência de trinta e seis, então o dígito mais à direita são as unidades, o próximo são os trinta e seis, depois mil duzentos e noventa e seis, e assim por diante.
Codificar um número inteiro decimal é o clássico processo de divisão repetida: divida a magnitude por trinta e seis, registre o resto como o próximo dígito menos significativo, e continue com o quociente até chegar a zero. A decodificação percorre a string base 36 da esquerda para a direita, multiplicando o total acumulado por trinta e seis e somando o valor de cada dígito.
Não há caminho de ponto flutuante para partes fracionárias, nenhum truncamento silencioso de três vírgula cinco para três, e nenhuma aceitação de pontuação ou símbolos fora de zero a nove e A a Z.
Onde a conversão base 36 se encaixa em estudo, códigos de produto e software
Estudantes encontram a base 36 quando um livro-texto introduz valor posicional além da base dez, quando um curso de matemática discreta pede exercícios de conversão de raiz, ou quando uma entrevista de programação pede uma codificação compacta de um pequeno inteiro não negativo. Professores podem pré-gerar gabaritos para inteiros modestos sem depender de aplicativos de calculadora opacos que perdem silenciosamente sinais ou aceitam não inteiros arredondando.
Equipes de produto e operações usam base 36 para códigos curtos e legíveis por humanos: sufixos de pedido, rótulos de posição de armazém, tokens de convite, e chaves de planilha que precisam permanecer alfanuméricas sem parecer hexadecimal puro. Desenvolvedores web mapeiam contadores sequenciais em strings mais densas para IDs públicos, ao mesmo tempo decodificando-os de volta a inteiros para junções e análises.
Desenvolvedores chamam o mesmo contrato a partir de scripts para gerar vetores de teste determinísticos para analisadores, validar códigos curtos inseridos por usuários em interfaces de configuração, ou atender enunciados de desafios de programação que exigem uma string base 36 em vez de um esboço aproximado. Combine-a com ferramentas de formato relacionadas, como conversores de decimal para hexadecimal ou de binário para decimal, ao montar um pequeno laboratório de auxiliares de raiz gratuitos e determinísticos para alfabetização digital e trabalho de sistemas.
Casos de uso
Lições de casa e exercícios de raiz
Converta números inteiros de livros didáticos para base 36 e volta, depois verifique o trabalho de valor posicional antes de enviar as respostas.
Códigos curtos e IDs de produto
Mapeie inteiros sequenciais em códigos compactos 0-9 A-Z para rótulos, tokens de convite, e sufixos legíveis por humanos.
Perguntas frequentes
Quais caracteres são válidos em base 36?
Dígitos 0-9 e letras A-Z (sem diferenciar maiúsculas de minúsculas na entrada).
Como a conversão é calculada?
A codificação usa resto repetido: n mod 36 como o próximo dígito, depois piso(n/36). Zero mapeia para 0; negativos mantêm um sinal de menos à esquerda.
Quanto é 255 em base 36?
É 73. O primeiro algarismo conta grupos de trinta e seis e o segundo conta unidades; ao converter 73 a partir da base 36, você volta a obter 255 e pode conferir o código nos dois sentidos.
Faz diferença digitar as letras em minúsculas?
Não na decodificação: as letras da base 36 são lidas da mesma forma em maiúsculas ou minúsculas. Na codificação, o resultado aparece em maiúsculas, com uma cópia em minúsculas ao lado.
Posso converter um número com casas decimais?
Não. Este conversor trabalha só com números inteiros, então um valor como três e meio é recusado em vez de ser cortado em silêncio para três.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/fmt/base36 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"255","direction":"to_base36"}'const res = await fetch("https://api.kit.forhosting.com/fmt/base36", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "255",
"direction": "to_base36"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fmt/base36",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "255",
"direction": "to_base36"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fmt/base36", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"255","direction":"to_base36"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"255","direction":"to_base36"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fmt/base36", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"value": "255",
"direction": "to_base36"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.base36",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_abs | 9007199254740991 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Você informa um valor e uma direção: to_base36 mapeia um número inteiro em dígitos base 36 maiúsculos, e from_base36 mapeia uma string base 36 sem distinção de maiúsculas em um inteiro decimal. O mecanismo é totalmente determinístico: a codificação extrai restos de trinta e seis da magnitude; a decodificação acumula dígitos com um esquema de Horner da esquerda para a direita; caracteres base 36 inválidos falham com um erro claro de invalid_input.
O que significa a conversão base 36 e o que a resposta contém
Esta calculadora retorna o eco do valor original, uma etiqueta de direção normalizada de to_base36 ou from_base36, o inteiro decimal e sua forma decimal_string, uma string base36 em maiúsculas mais um campo de conveniência base36_lower, uma etiqueta de método base36, um breve lembrete de fórmula dos passos de resto e de Horner, e os números base_from e base_to para documentação. O mecanismo constrói uma conversão exata para um número inteiro ou string base 36 válida dentro da magnitude suportada, ou rejeita a entrada com invalid_input. Os casos rejeitados incluem value ou direction ausente, uma string vazia depois de removida a formatação, um sinal isolado sem dígitos, entrada decimal não inteira ao codificar, qualquer caractere base 36 inválido ao decodificar, Infinity ou NaN, e qualquer magnitude maior que o máximo documentado, para que os resultados permaneçam dentro de Number.MAX_SAFE_INTEGER. Se você precisa de codificações binária, hexadecimal, ou base sessenta e quatro, use essas ferramentas dedicadas; esta página responde apenas à conversão de número inteiro entre base dez e base trinta e seis, com saída estável adequada para planilhas de exercícios, testes unitários e consumidores de API.
Como value e direction são interpretados e como os resultados permanecem reproduzíveis
Espaços em branco externos são removidos. Ao codificar, um sinal opcional de mais ou menos à esquerda é permitido, e então os caracteres restantes devem ser apenas dígitos decimais — sem espaços, vírgulas, sublinhados, pontos decimais, ou marcadores de expoente. Um número JavaScript simples é aceito apenas quando é um número inteiro finito. A codificação usa extração repetida de resto sobre o valor absoluto, com dígitos de saída em maiúsculas; a decodificação usa acumulação de Horner e normaliza o campo base36 para maiúsculas. Zero mapeia para o único dígito zero em ambas as direções. O campo preferido para o payload é value, mas os aliases v, input, text, number, n, decimal e base36 são aceitos, para que strings de consulta, planilhas e formulários tipados possam reutilizar o mesmo contrato sem renomear colunas. Direction é obrigatório e seleciona o mapeamento: to_base36, to, encode, ou decimal_to_base36 significa tratar value como um número inteiro e emitir dígitos base 36; from_base36, from, decode, ou base36_to_decimal significa tratar value como uma string base 36 e emitir um inteiro decimal. Ao decodificar, os dígitos podem ser maiúsculos ou minúsculos de A a Z, e um sinal opcional à esquerda é permitido; qualquer outro caractere, incluindo sublinhados, espaços, e pontuação, falha com invalid_input e uma mensagem que nomeia o caractere base 36 inválido, para que uma célula com erro não vire um inteiro errado. A magnitude é limitada a Number.MAX_SAFE_INTEGER, para que os goldens em JSON se comparem sem peculiaridades de serialização de BigInt, e todo resultado seja um caminho de inteiro seguro. 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 a conversão base 36 você mesmo.
Onde a conversão base 36 se encaixa em estudo, códigos de produto e software
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 matemático.
Casos de integração
Fixtures determinísticas para testes
Gere pares reproduzíveis de base36 e decimal para testes unitários, verificações de propriedades e asserções de CI em analisadores.
Perguntas técnicas
Quanto custa o codificador Base36?
É 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 direções são suportadas?
Use direction to_base36 (ou to, encode) para mapear um número inteiro para base 36, e from_base36 (ou from, decode) para mapear uma string base 36 para um inteiro decimal.
Qual é a magnitude máxima?
Nove quatrilhões e algo mais — exatamente Number.MAX_SAFE_INTEGER (9007199254740991) — para que os resultados permaneçam exatos em JavaScript e nos goldens em JSON.