ForHosting KIT · Utilidades de desarrollo

Codificador basE91

basE91 guarda el texto en 91 caracteres imprimibles, más compacto que Base64 y sin relleno: «Hello, world!» se convierte en >OwJh>}A"=r@@Y?F con el alfabeto original de Joachim Henke, y cualquier cadena basE91 vuelve a texto UTF-8. 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
Hello, world!
Obtiene
Resultado
>OwJh>}A"=r@@Y?F
Modo de cálculo
Encode
Variante
base91
Bytes
13

basE91 es un esquema compacto de binario a texto que empaqueta datos en noventa y un caracteres ASCII imprimibles, en general más denso que Base64 y útil cuando necesita una carga más corta y segura en texto sin salir del rango imprimible clásico. La codificación es determinista: UTF-8 y luego aritmética de cola de bits basE91; la decodificación elimina espacios en blanco, mapea cada símbolo por la tabla inversa y rechaza símbolos ilegales en lugar de inventar sustituciones silenciosas.

Codificar texto UTF-8 a basE91

El motor interpreta la cadena como texto Unicode, la serializa a bytes UTF-8 y alimenta esos bytes a la cola de bits basE91 de Joachim Henke: cada byte de entrada aporta ocho bits y, cuando hay más de trece bits en el búfer, el codificador emite un par de dos caracteres tomados del alfabeto de noventa y un símbolos.

Cuando el valor de la ventana de trece bits es como máximo ochenta y ocho, el algoritmo consume en cambio catorce bits antes de emitir el par: es el truco de anchura variable que hace basE91 más denso que una expansión fija Base64. Una cola final parcial se vacía como uno o dos símbolos restantes para que el lado de decodificación recupere la longitud exacta en bytes sin caracteres de relleno como signos de igual. Las cadenas vacías son válidas y se codifican en un resultado vacío con cero bytes.

Texto multilingüe, emoji y puntuación hacen ida y vuelta completa porque la ruta es UTF-8 pleno, no un atajo Latin-1. La respuesta siempre incluye result con la cadena basE91, mode igual a encode, variant igual a base91 y bytes igual a la longitud UTF-8 antes de codificar, para que pueda asertar el tamaño de la carga en las pruebas. Entradas idénticas producen siempre salidas idénticas porque el algoritmo es aritmética pura sin red, sin sal aleatoria y sin reloj de pared.

Use esta ruta cuando necesite una representación densa y segura en texto más compacta que Base64 para fragmentos cortos de configuración, muestras de documentación o canales basE91 heredados.

Decodificar basE91 a texto y tratar caracteres inválidos

Fije mode en decode y coloque una cadena basE91 en text. Se eliminan los espacios en blanco iniciales, finales e internos —incluidos espacios, tabulaciones y saltos de línea— de modo que los pegados multilínea sigan funcionando. El alfabeto es estricto: solo se aceptan los noventa y un símbolos definidos por Joachim Henke (letras mayúsculas y minúsculas, dígitos y un conjunto fijo de puntuación imprimible que excluye espacio, guion, comilla simple y barra invertida).

El decodificador reconstruye la cola de bits emparejando símbolos: el primero de cada par es el dígito bajo módulo noventa y uno y el segundo escala por noventa y uno; se liberan trece o catorce bits por par según el mismo umbral de ochenta y ocho usado al codificar, y luego se emiten bytes enteros hasta que queden menos de ocho bits. Un símbolo final sin pareja se trata como un vaciado corto de la cola restante.

Una decodificación exitosa devuelve result como la cadena recuperada, mode decode, variant base91 y bytes como la longitud UTF-8 decodificada. Prefiera esta capacidad cuando la intención de búsqueda sea literalmente codificador base91, decodificador basE91 o convertir base91 para contenido legible; Base64, Base58 y Ascii85 siguen siendo herramientas aparte con sus propias páginas.

Interoperabilidad basE91 heredada

Codifique o decodifique cargas basE91 de Joachim Henke al integrar herramientas, archivos o bibliotecas que ya esperan el alfabeto clásico de noventa y un símbolos.

¿Cómo codifico texto a basE91?

El campo result de la respuesta contiene la cadena basE91 y bytes es la longitud UTF-8.

¿Cómo decodifico basE91 de nuevo a texto?

Fije mode en decode y coloque la cadena basE91 en text. Se eliminan los espacios en blanco. El campo result es el texto UTF-8 recuperado.

¿Qué ocurre con un carácter basE91 inválido?

Se rechazan los caracteres fuera del alfabeto basE91 de noventa y un símbolos; los fallos de validación no se cobran.

¿Es gratuito el codificador basE91?

La herramienta del navegador se ejecuta gratis en su dispositivo.

¿En qué se diferencia basE91 de Base64?

basE91 usa un alfabeto de 91 símbolos y una cola de anchura variable de 13/14 bits, con unos 23% de sobrecarga frente a aproximadamente 33% de Base64. Esta herramienta implementa basE91 de Joachim Henke, no Base64 RFC 4648.

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

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

Quien busca un codificador base91 o un decodificador basE91 suele guardar tokens binarios cortos en JSON, tickets o chat, comparar la sobrecarga frente a Base64 o restaurar una cadena basE91 que otra herramienta produjo con el alfabeto original de Joachim Henke. Esta capacidad se centra en ese trabajo cotidiano: elija el modo encode o decode, envíe un campo de texto y reciba la cadena transformada más la longitud en bytes, o un error claro invalid_input cuando la carga a decodificar contiene un carácter fuera del alfabeto basE91.

Codificar texto UTF-8 a basE91

Envíe un cuerpo JSON con el campo de cadena obligatorio text igual al mensaje en claro que desea representar en basE91, y deje mode en su valor predeterminado encode o fije mode en encode de forma explícita. Se aceptan alias opcionales input, value y s para el mismo campo cuando genera clientes a partir de nombres de formulario antiguos.

Decodificar basE91 a texto y tratar caracteres inválidos

Cualquier otro carácter —incluidos signos de igual de relleno Base64, guion o guion bajo seguros para URL tomados de alfabetos ajenos, o ruido binario— provoca un fallo inmediato invalid_input con un mensaje que nombra la condición de carácter basE91 inválido, para que los clientes corrijan el pegado en lugar de recibir Unicode corrupto. Tras validar el alfabeto, los bytes recuperados se decodifican como UTF-8 con un decodificador fatal: si la carga no es texto Unicode válido, obtiene invalid_input en lugar de caracteres de reemplazo que corromperían las pantallas posteriores. Los fallos de validación no se cobran en la API prepago, de modo que sondear un token sospechoso es barato para operadores y seguro para usuarios finales.

Uso de la API, precios, flujos y límites prácticos

Use el codificador basE91 gratuito en el navegador para demos de aula, playbooks de soporte, comprobaciones de tokens y conversiones puntuales sin instalar paquetes nativos ni programar usted mismo una cola de bits a medida. Un flujo típico codifica un valor de configuración corto para guardarlo en un ticket solo texto, lo envía por correo o chat y lo decodifica en el servicio receptor con mode decode, comprobando que bytes coincida con la longitud original. Combine este extremo con una herramienta Base64 cuando un sistema socio solo hable Base64, pero mantenga los pasos en páginas distintas para que cada una coincida con una sola intención de búsqueda: densidad basE91 frente a ubicuidad Base64. Emplee la API prepago de KIT cuando un backend, una función serverless o un SDK necesiten el mismo paso de codificación o decodificación bajo saldo a $0.002 por ítem exitoso; la validación fallida nunca consume saldo una vez que el motor rechaza la petición. Quienes publican SDK pueden mapear el campo result directamente a un botón de copiar, mientras que las etiquetas mode y variant hacen que los ejemplos OpenAPI se expliquen solos a lectores que solo conocen el alfabeto de noventa y un símbolos y la cola variable de trece o catorce bits.

Tokens de configuración densos y seguros en texto

Empaquete fragmentos cortos de configuración UTF-8 de forma más compacta que Base64 para tickets, chat y JSON; luego decodifíquelos en el servicio receptor con el mismo campo mode.

Documentación y golden de CI

Fije fixtures de encode y decode para que las muestras de documentación y las pruebas de integración continua fallen enseguida si el alfabeto basE91 o las reglas de la cola de bits se desvían.

Ver la documentación completa del KIT →