Codificador base36
255 en base 36 es 73: este conversor transforma números enteros en códigos cortos con cifras y letras de la A a la Z, y los devuelve a decimal cuando lo necesite. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Valor a convertir
- 255
- Dirección de la conversión
- to_base36
- Decimal
- 255
- Cadena decimal
- 255
- Base36
- 73
- Base36 en minúsculas
- 73
La base 36 es un sistema posicional compacto, usado a menudo para códigos cortos, sufijos de factura, tokens de URL, y ejercicios educativos de valor posicional, donde se busca más densidad que el decimal sin saltar a hexadecimal o base sesenta y cuatro. No hay llamadas de red, ni muestras aleatorias, ni atajos que dependan del reloj.
Qué significa la conversión a base 36 y qué contiene la respuesta
La base 36 es un sistema entero posicional que usa treinta y seis símbolos: los dígitos decimales del cero al nueve para los valores cero a nueve, y luego las letras de la A a la Z para los valores diez a treinta y cinco. Cada posición multiplica su dígito por una potencia de treinta y seis, así que el dígito más a la derecha son las unidades, el siguiente son los treinta y seises, luego mil doscientos noventa y seis, y así sucesivamente.
Codificar un número entero decimal es el clásico proceso de división repetida: divida la magnitud entre treinta y seis, registre el resto como el siguiente dígito menos significativo, y continúe con el cociente hasta que llegue a cero. Decodificar recorre la cadena base 36 de izquierda a derecha, multiplicando el total acumulado por treinta y seis y sumando el valor de cada dígito.
No hay ruta de punto flotante para partes fraccionarias, ni truncamiento silencioso de tres coma cinco a tres, ni aceptación de puntuación o símbolos fuera de cero a nueve y A a Z.
Dónde encaja la conversión a base 36 en el estudio, los códigos de producto y el software
Los estudiantes se encuentran con la base 36 cuando un libro de texto introduce el valor posicional más allá de la base diez, cuando un curso de matemática discreta pide ejercicios de conversión de raíz, o cuando una entrevista de programación pide una codificación compacta de un entero corto no negativo. Los profesores pueden pregenerar claves de respuesta para enteros modestos sin depender de aplicaciones de calculadora opacas que descartan signos en silencio o aceptan valores no enteros redondeando.
Los equipos de producto y operaciones usan la base 36 para códigos cortos legibles por humanos: sufijos de pedido, etiquetas de casillero de almacén, tokens de invitación, y claves de hoja de cálculo que deben mantenerse alfanuméricas sin parecer hexadecimal puro. Los desarrolladores web relacionan contadores secuenciales con cadenas más densas para identificadores públicos, mientras siguen decodificándolos de vuelta a enteros para uniones y analítica.
Los desarrolladores llaman al mismo contrato desde scripts para sembrar vectores de prueba deterministas para analizadores, para validar códigos cortos introducidos por el usuario en interfaces de configuración, o para satisfacer enunciados de retos de programación que exigen una cadena base 36 en lugar de un boceto aproximado. Combínela con herramientas de formato relacionadas, como conversores de decimal a hexadecimal o de binario a decimal, cuando esté construyendo un pequeño laboratorio de ayudantes de raíz gratuitos y deterministas para alfabetización digital y trabajo de sistemas.
Qué puede hacer con ella
Tareas y ejercicios de raíz numérica
Convierta números enteros de libro de texto a base 36 y de vuelta, y verifique el trabajo de valor posicional antes de enviar las respuestas.
Códigos cortos e identificadores de producto
Relacione enteros secuenciales con códigos compactos 0-9 A-Z para etiquetas, tokens de invitación, y sufijos legibles por humanos.
Preguntas frecuentes
¿Cuánto cuesta el codificador base36?
Es gratis en su navegador, en esta página.
¿Qué caracteres son válidos en base 36?
Dígitos 0-9 y letras A-Z (sin distinguir mayúsculas al entrar).
¿Cómo se calcula la conversión?
La codificación usa resto repetido: n mod 36 como siguiente dígito, luego piso(n/36). La decodificación usa Horner: valor = valor*36 + dígito, para cada carácter de izquierda a derecha. Cero se relaciona con 0; los negativos conservan un signo menos inicial.
¿Cuánto es 255 en base 36?
Es 73. La primera cifra cuenta grupos de treinta y seis y la segunda cuenta unidades; si convierte 73 desde base 36, vuelve a obtener 255, así que puede comprobar el código en ambos sentidos.
¿Importa si escribo las letras en minúscula?
No al decodificar: las letras de base 36 se leen igual en mayúscula o minúscula. Al codificar, el resultado aparece en mayúsculas, con una copia en minúsculas al lado.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"value": "255",
"direction": "to_base36"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fmt.base36",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_abs | 9007199254740991 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Este codificador base36 convierte un entero en una cadena en base 36, o una cadena en base 36 de vuelta en un entero decimal, usando el alfabeto clásico de dígitos del cero al nueve y letras de la A a la Z. Usted proporciona un valor y una dirección: to_base36 relaciona un número entero con dígitos base 36 en mayúsculas, y from_base36 relaciona una cadena base 36, sin distinguir mayúsculas de minúsculas, con un entero decimal. El motor es totalmente determinista: la codificación extrae restos de treinta y seis de la magnitud; la decodificación acumula dígitos con un esquema de Horner de izquierda a derecha; los caracteres base 36 inválidos fallan con un error claro invalid_input.
Qué significa la conversión a base 36 y qué contiene la respuesta
Esta calculadora devuelve el eco del valor original, una etiqueta de dirección normalizada to_base36 o from_base36, el entero decimal y su forma decimal_string, una cadena base36 en mayúsculas más un campo de conveniencia base36_lower, una etiqueta de método base36, un breve recordatorio de fórmula tanto del resto como de los pasos de Horner, y los números base_from y base_to para documentación. El motor construye una conversión exacta para un número entero o una cadena base 36 válida dentro de la magnitud admitida, o rechaza la entrada con invalid_input. Los casos rechazados incluyen valor o dirección ausentes, una cadena vacía tras recortar, un signo solo sin dígitos, una entrada decimal no entera al codificar, cualquier carácter base 36 inválido al decodificar, Infinity o NaN, y cualquier magnitud mayor que el máximo documentado, para que los resultados se mantengan dentro de Number.MAX_SAFE_INTEGER.
Cómo se interpretan el valor y la dirección, y cómo los resultados se mantienen reproducibles
Se recorta el espacio en blanco exterior. Al codificar, se permite un signo más o menos inicial opcional, y luego los caracteres restantes deben ser solo dígitos decimales, sin espacios, comas, guiones bajos, puntos decimales, ni marcadores de exponente. Un número simple de JavaScript se acepta solo cuando es un entero finito. Encode usa extracción repetida de resto sobre el valor absoluto, con dígitos de salida en mayúsculas; decode usa acumulación de Horner y normaliza el campo base36 a mayúsculas. Cero se relaciona con el dígito único cero en ambas direcciones. El campo preferido para la carga es value, pero se aceptan los alias v, input, text, number, n, decimal y base36, para que cadenas de consulta, hojas de cálculo, y formularios tipados puedan reutilizar el mismo contrato sin renombrar columnas. La dirección es obligatoria y selecciona la relación: to_base36, to, encode, o decimal_to_base36 significa tratar value como un número entero y emitir dígitos base 36; from_base36, from, decode, o base36_to_decimal significa tratar value como una cadena base 36 y emitir un entero decimal. Al decodificar, los dígitos pueden ser mayúsculas o minúsculas de la A a la Z, y se permite un signo inicial opcional; cualquier otro carácter, incluidos guiones bajos, espacios, y puntuación, falla con invalid_input y un mensaje que nombra el carácter base 36 inválido, para que una celda mal escrita no se convierta en un entero equivocado. La magnitud tiene un tope de Number.MAX_SAFE_INTEGER, para que los goldens de JSON se comparen sin peculiaridades de serialización de BigInt, y cada resultado sea una ruta de entero seguro. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite el mismo resultado matemático dentro de un flujo automatizado, sin tener que reimplementar usted mismo la conversión base 36.
Dónde encaja la conversión a base 36 en el estudio, los códigos de producto y el software
En esta página el trabajo se ejecuta enteramente en su navegador; a través de la API, cada consulta exitosa cuesta $0.002, la validación fallida no se cobra, y no se almacena nada después de que se devuelve la respuesta. Esa división —exploración interactiva gratuita y una API de pago idéntica— coincide con el resto del catálogo tier A del KIT y le permite pasar de una demostración de aula a un flujo automatizado sin cambiar el resultado matemático.
Casos de integración
Fixtures de prueba deterministas
Genere pares reproducibles de base36 y decimal para pruebas unitarias, comprobaciones de propiedades, y aserciones de integración continua sobre analizadores.
Preguntas técnicas
¿Qué direcciones se admiten?
Use direction to_base36 (o to, encode) para relacionar un número entero con base 36, y from_base36 (o from, decode) para relacionar una cadena base 36 con un entero decimal.
¿Cuál es la magnitud máxima?
Nueve cuadrillones y pico —exactamente Number.MAX_SAFE_INTEGER (9007199254740991)— para que los resultados se mantengan exactos en JavaScript y en los goldens de JSON.