ForHosting KIT · Utilidades de desarrollo

Codificador y decodificador Base45

«AB» se convierte en BB8 con Base45, la codificación del RFC 9285 que mantiene los datos dentro de los 45 caracteres que un código QR lee en modo alfanumérico, como hacen los certificados COVID digitales de la UE. También decodifica Base45 a texto. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Texto
AB
Modo de cálculo
Encode
Obtiene
Resultado
BB8
Codificación
base45
Bytes de entrada
2
Bytes de salida
3

Este codificador Base45 convierte texto plano en Base45 según RFC 9285 y decodifica cadenas Base45 de vuelta a texto UTF-8, usando el alfabeto alfanumérico de cuarenta y cinco caracteres del código QR. Base45 empaqueta dos bytes en tres caracteres, y un byte sobrante en dos caracteres, lo que resulta más compacto para cargas útiles de QR que Base64, a la vez que se mantiene dentro del modo alfanumérico que los escáneres ya esperan. Este esquema impulsa los Certificados COVID Digitales de la UE y otras credenciales verificables por QR que deben transportar afirmaciones binarias sin salir del conjunto de caracteres seguro para QR. El motor es totalmente determinista: la misma entrada y el mismo modo siempre producen el mismo resultado, sin llamadas de red, sin sales aleatorias y sin atajos que dependan de la fecha. Las comprobaciones clásicas incluyen codificar AB en BB8, Hello!! en una cadena que incluye un espacio, y base-45 en UJCLQE7W581.

Qué es Base45 y qué devuelve esta herramienta

Base45 es la codificación de binario a texto definida en RFC 9285 para datos que viajarán dentro de códigos QR en modo alfanumérico. El alfabeto es el conjunto fijo de cuarenta y cinco caracteres: del cero al nueve, de la A a la Z, espacio, signo de dólar, porcentaje, asterisco, más, menos, punto, barra, y dos puntos.

La codificación interpreta cada par de bytes de entrada como un entero sin signo de dieciséis bits n igual a a por doscientos cincuenta y seis más b, y luego escribe n como tres dígitos base cuarenta y cinco, con el dígito menos significativo a la izquierda. Un último byte sobrante se convierte en solo dos dígitos. Este diseño encaja mejor con el empaquetado alfanumérico de QR que Base64, que necesita más, barra, y relleno, incómodos en el modo alfanumérico de QR.

Esta página siempre sigue ese contrato: el modo de codificación codifica su texto en UTF-8, empaqueta los bytes, y devuelve solo caracteres del alfabeto; el modo de decodificación invierte el proceso y rechaza caracteres fuera del alfabeto, grupos incompletos cuya longitud módulo tres sea uno, y cualquier tripleta de tres caracteres cuyo valor numérico supere sesenta y cinco mil quinientos treinta y cinco.

Cómo se interpretan el texto y el modo, y cómo los resultados se mantienen reproducibles

Encode acepta cualquier cadena Unicode, la convierte con el TextEncoder de la plataforma en bytes UTF-8, y luego emite grupos Base45 como se especificó anteriormente. Decode exige una cadena Base45 pura: una longitud módulo tres igual a uno se rechaza porque no puede representar un número entero de bytes, y cualquier carácter fuera del alfabeto falla con un mensaje claro que indica el índice y el carácter.

Después de recuperar los dígitos, cada tripleta se verifica contra el techo de dieciséis bits, así que cadenas como GGW, que decodificarían por encima de sesenta y cinco mil quinientos treinta y cinco, fallan en lugar de desbordarse. Las colas de dos caracteres deben decodificar a un único byte de como máximo doscientos cincuenta y cinco. Una decodificación UTF-8 estricta garantiza entonces que la basura binaria no se convierta en texto ininteligible.

Dónde se usa Base45 en los códigos QR

Los equipos de frontend decodifican segmentos Base45 escaneados durante la depuración de integración, sin pegar datos en scripts improvisados que usan por error el alfabeto equivocado. Los servicios de backend codifican pequeños blobs binarios antes de colocarlos en generadores de QR que solo aceptan modo alfanumérico. Los ingenieros de calidad generan pares de codificación y decodificación deterministas para pruebas de contrato, de modo que un middleware que dice admitir Base45 no pueda cambiar tablas en silencio ni aceptar tripletas de tamaño excesivo.

Los educadores usan la misma herramienta al enseñar cómo interactúan el modo alfanumérico de QR, los pares de quince bits de símbolos, y Base45, incluidos los ejemplos clásicos del RFC, AB a BB8 y Hello!! con su espacio incrustado.

Credenciales verificables por QR

Codifique o decodifique cargas útiles Base45 según RFC 9285, usadas por los Certificados COVID Digitales de la UE y otras credenciales verificables transportadas por QR.

¿Cuánto cuesta el codificador Base45?

Es gratis en su navegador, en esta página.

¿En qué se diferencia Base45 de Base64?

Base45 usa el alfabeto alfanumérico de QR de 45 caracteres y empaqueta dos bytes en tres caracteres. No lleva relleno y está diseñado para códigos QR, no para correo electrónico ni segmentos JWT.

¿Qué es una tripleta Base45 inválida?

Un grupo de tres caracteres cuyo valor supera 65535 (por ejemplo, GGW).

¿El resultado es determinista?

Sí. El mismo texto y el mismo modo siempre producen el mismo resultado, sin red, aleatoriedad, ni comportamiento dependiente de la fecha.

¿Por qué el resultado en Base45 tiene espacios?

Porque el espacio es uno de los 45 caracteres de Base45, junto con las cifras, las mayúsculas y símbolos como $, %, * y +. «Hello!!» produce una cadena con un espacio, así que copie el resultado completo, espacios incluidos, antes de decodificarlo.

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.

POSThttps://api.kit.forhosting.com/enc/base45

¿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.

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"
  }
}

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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Utilícelo gratis en el navegador para depuración y enseñanza de credenciales, o llame a la API por $0.002 por solicitud exitosa cuando las canalizaciones necesiten transformaciones Base45 reproducibles en integración continua y servicios de backend.

Qué es Base45 y qué devuelve esta herramienta

La respuesta en JSON incluye result para la cadena transformada, mode que refleja encode o decode, encoding fijo en base45, e input_bytes más output_bytes para que pueda verificar tamaños en pruebas. No hay ruta en streaming ni una alternativa silenciosa a Base64: o la cadena es texto Base45 válido, o la solicitud falla con invalid_input. Si necesita el Base64url estándar para JWT en su lugar, use un endpoint dedicado de Base64url; esta página es solo para el alfabeto de RFC 9285 usado por las credenciales verificables por QR.

Cómo se interpretan el texto y el modo, y cómo los resultados se mantienen reproducibles

El campo de carga preferido es text, con los alias input, value y s, para que formularios, cadenas de consulta y clientes de SDK puedan reutilizar el mismo contrato sin renombrar columnas. Mode toma encode por defecto y acepta decode explícitamente; los alias op, direction y action se relacionan con el mismo interruptor para scripts que ya usan esos nombres. 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 las tablas de Base45. Las entradas inválidas devuelven invalid_input y no se cobran, lo que mantiene la validación barata mientras las transformaciones exitosas siguen teniendo un precio fijo por elemento de $0.002.

Dónde encaja Base45 en credenciales QR, API y fixtures de prueba

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 codificado. Combínela con ayudantes de CBOR o de certificados cuando necesite pasos relacionados de credenciales, y con otros endpoints de codificación cuando esté construyendo un pequeño laboratorio de herramientas de texto gratuitas y deterministas.

Fixtures de QR alfanuméricos

Convierta texto corto seguro para binario en Base45, para que los generadores de QR puedan usar el modo alfanumérico sin salir del alfabeto de 45 caracteres.

Fixtures deterministas de integración continua

Genere cadenas Base45 reproducibles para pruebas unitarias, ficheros golden, y comprobaciones de contrato entre servicios de cartera y de escaneo.

¿Qué modos se admiten?

mode=encode (por defecto) convierte texto plano en Base45. mode=decode convierte una cadena Base45 de vuelta a texto UTF-8.

Ver la documentación completa del KIT →