Codificador base-26 biyectiva
Pase un número de columna a sus letras, o las letras a número: 27 se convierte en AA, 26 es Z y 702 es ZZ, las mismas etiquetas que muestran Excel y Google Sheets. No hay cero, así que el 0 se rechaza. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Valor
- 27
- Dirección
- encode
- Decimal
- 27
- Cadena decimal
- 27
- Letras
- AA
- Letras en minúscula
- aa
La base-26 biyectiva es el numerado por letras de las columnas de hoja de cálculo: uno corresponde a A, veintiséis a Z, veintisiete a AA, y no existe dígito cero—a diferencia de la base veintiséis ordinaria, que necesitaría un símbolo para el cero y no coincidiría con Excel ni Google Sheets. Desarrolladores, ingenieros de datos y estudiantes consultan este mapeo al escribir ayudas de índice de columna, importar cabeceras CSV a esquemas tipados o revisar deberes que piden la etiqueta de la n-ésima columna. Este codificador base-26 biyectiva acepta un valor y una dirección: encode convierte un entero positivo en una cadena de letras mayúsculas; decode convierte una cadena de A a Z de nuevo en un entero positivo. El algoritmo es puro y determinista: encode extrae restos biyectivos tras restar uno en cada paso; decode acumula letras con un esquema de Horner de izquierda a derecha donde A vale uno y Z vale veintiséis.
Qué significa la base-26 biyectiva y cómo se diferencia de la base-26 ordinaria
La base veintiséis posicional ordinaria usaría valores de dígito de cero a veinticinco y suele necesitar un símbolo de cero o un índice basado en cero. El software de hojas de cálculo emplea en su lugar un sistema de numeración biyectiva con veintiséis símbolos A a Z y sin cero: cada entero positivo tiene exactamente una representación finita, y la secuencia avanza A, B, …, Z, AA, AB, … sin huecos ni ceros a la izquierda.
Codificar un entero positivo n es el bucle clásico de resto biyectivo: restar uno para que el residuo caiga entre cero y veinticinco, emitir la letra correspondiente como siguiente dígito menos significativo, sustituir n por el suelo de n dividido entre veintiséis, y repetir hasta que n sea cero. Decodificar recorre la cadena de letras de izquierda a derecha, multiplicando el total acumulado por veintiséis y sumando el valor de la letra con A igual a uno hasta Z igual a veintiséis.
Esa identidad explica por qué veintiséis se convierte en Z, veintisiete en AA y setecientos dos en ZZ—las mismas etiquetas que ve en las cabeceras de columna de Excel y Google Sheets.
Dónde aporta valor la conversión base-26 biyectiva
Los importadores de hojas de cálculo mapean índices de columna basados en uno a etiquetas A, B, …, AA al generar fórmulas, rangos con nombre o mensajes de error legibles que apuntan a una celda incorrecta. Los trabajos ETL y de almacén que exportan ficheros planos suelen guardar números de columna en metadatos y necesitan la misma cadena de letras que ven los usuarios finales en Excel para que los tickets de soporte y las líneas de registro coincidan.
Las tareas de aula y de matemática discreta presentan la numeración biyectiva como el sistema sin dígito cero; el profesorado necesita un oráculo determinista que trate el cero como inválido en lugar de inventar un blanco o una A inicial. Esa división—exploración interactiva gratuita y una ruta de parse de pago idéntica—coincide con el resto del catálogo KIT de nivel A y le permite pasar de una demo de aula a una tubería automatizada sin cambiar el resultado matemático.
Prefiera esta herramienta cuando necesite específicamente base-26 biyectiva al estilo de hojas de cálculo; use convertidores ordinarios de base treinta y seis o hexadecimales cuando su alfabeto incluya dígitos o un verdadero valor de posición cero.
Qué puede hacer con ella
Etiquetas de columna de hoja de cálculo
Mapee índices de columna basados en uno a etiquetas tipo A, Z, AA, XFD al construir fórmulas, nombres de rango o mensajes de error orientados al usuario.
Diagnóstico ETL e importación de datos
Convierta números de columna almacenados en las mismas cabeceras de letras que ven los operadores en Excel para que registros y tickets de soporte coincidan.
Deberes y ejercicios de programación
Compruebe casos límite de encode y decode base-26 biyectiva (26→Z, 27→AA) con un oráculo determinista para clases y preparación de entrevistas.
Preguntas frecuentes
¿Qué es la base-26 biyectiva?
Un sistema de numeración con dígitos A–Z y sin cero. Los enteros positivos se mapean de forma única: 1=A, 26=Z, 27=AA—el mismo esquema de las columnas de hoja de cálculo.
¿Por qué se rechaza el cero?
La base-26 biyectiva no tiene dígito cero y las columnas de hoja empiezan en 1 = A.
¿Cómo convierto letras de columna en un número?
Lea las letras de izquierda a derecha: multiplique el total acumulado por 26 y sume el valor de cada letra, de la A como 1 a la Z como 26. Para AA es 1 por 26 más 1, es decir, la columna 27.
¿Cómo se pasa un número a letras de columna?
Reste uno, tome el resto de dividir entre 26 como última letra, de la A para 0 a la Z para 25, y después divida entre 26 sin decimales y repita. Por eso 27 da AA y 703 da AAA.
¿Puedo escribir las letras en minúsculas?
Sí. Las letras se leen sin distinguir mayúsculas y se recortan los espacios de los extremos, pero solo valen de la A a la Z: cifras o signos entre las letras se rechazan. El resultado sale en mayúsculas, con una copia en minúsculas.
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/enc/base26-bijective \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"27","direction":"encode"}'const res = await fetch("https://api.kit.forhosting.com/enc/base26-bijective", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "27",
"direction": "encode"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base26-bijective",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "27",
"direction": "encode"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base26-bijective", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"27","direction":"encode"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"27","direction":"encode"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base26-bijective", 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": "27",
"direction": "encode"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base26_bijective",
"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.
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
La entrada no válida—cero, negativos, no enteros al codificar, o caracteres que no sean letras al decodificar—falla con un mensaje invalid_input claro y no se factura. Use la ruta gratuita del navegador para comprobaciones rápidas, o la API a $0.002 por llamada exitosa cuando la automatización necesite el mismo contrato en CI, trabajos ETL y herramientas de aula.
Qué significa la base-26 biyectiva y cómo se diferencia de la base-26 ordinaria
Esta capacidad devuelve el eco del valor original, una dirección normalizada encode o decode, el entero decimal y su forma decimal_string, letras en mayúsculas más el campo de conveniencia letters_lower, la etiqueta de método bijective_base26, un breve recordatorio de fórmula, base veintiséis y scheme bijective para que los clientes API documenten el mapeo sin adivinar. No hay ruta fraccionaria, ni aceptación silenciosa del cero como columna en blanco, ni dependencia de red o reloj: el motor construye una conversión exacta dentro de la magnitud admitida o rechaza la entrada con invalid_input.
Contrato de entrada, direcciones y comportamiento ante errores
Se recortan los espacios exteriores. Al decodificar, value debe ser una cadena de letras no vacía que use solo A a Z, sin distinguir mayúsculas; cualquier dígito, espacio, guion bajo o puntuación falla con un mensaje que nombra el carácter base-26 biyectiva no válido. La validación fallida no se cobra. Envíe un cuerpo JSON con dos campos obligatorios: value y direction. Value puede llegar bajo los alias v, input, text, number, n, decimal, column o letters para que formularios, cadenas de consulta y celdas de hoja reutilicen un solo contrato. Direction puede usar encode, to, to_base26, to_column o integer_to_letters para mapear un entero positivo a letras; o decode, from, from_base26, from_column o letters_to_integer para mapear letras a un entero. Al codificar, value debe ser un entero positivo mayor o igual que uno—se aceptan números JSON que sean enteros finitos, cadenas de dígitos o un signo más opcional; cero, negativos, decimales como tres punto cinco, Infinity y NaN fallan con invalid_input y un mensaje que nombra el problema para que una celda mala no se convierta en una etiqueta incorrecta. La magnitud se limita a Number.MAX_SAFE_INTEGER para que los goldens JSON se comparen sin rarezas de BigInt y cada resultado sea un entero seguro exacto. En caso de éxito la respuesta repite el value recortado y la direction normalizada, informa decimal y decimal_string, expone letters y letters_lower, e incluye method, formula, base y scheme para registros e interfaces didácticas.
Dónde aporta valor la conversión base-26 biyectiva
En esta página el trabajo se ejecuta por completo en su navegador; a través de la API cada conversión exitosa cuesta $0.002, la entrada no válida no se factura y nada se almacena tras la respuesta.
Preguntas técnicas
¿Cómo convierto un entero en una letra de columna?
Envíe value como un entero positivo y direction encode (o to_base26). Ejemplo: value 27 devuelve letters AA.
¿Cómo convierto letras de columna de nuevo en un entero?
Envíe value como una cadena A–Z (sin distinguir mayúsculas) y direction decode (o from_base26). Ejemplo: value AA devuelve decimal 27.
¿Cuánto cuesta el codificador base-26 biyectiva?
La herramienta del navegador es gratuita. Las peticiones API usan saldo KIT prepago a $0.002 por llamada exitosa; la entrada no válida no se factura.