Codificador y decodificador Base91

Pega texto o bytes en hex para codificarlos con basE91, o cambia a Decodificar para recuperar el texto o los bytes. basE91 usa 91 caracteres ASCII imprimibles, así que su salida es bastante más corta que Base64 para los mismos datos.

Modo
Bytes como

Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.

Cómo se usa

  1. Elige Codificar o Decodificar.
  2. Indica Bytes como: Texto (UTF-8) para texto normal o Bytes en hex para datos binarios escritos en hexadecimal.
  3. Escribe o pega la entrada y copia el resultado.

Cómo funciona

basE91 mantiene una cola de bits. Cada byte de entrada se añade a ella; cuando hay más de 13 bits esperando, el codificador mira los 13 bits bajos:

  • si su valor es mayor que 88, toma esos 13 bits;
  • si no, toma 14 bits (un valor de 14 bits cuyos 13 bits bajos valen 88 o menos sigue siendo menor que 91 × 91 = 8281).

El bloque v se escribe con dos caracteres: v mod 91 y luego v div 91. Al final, los bits restantes dan uno o dos caracteres más. El decodificador hace lo contrario: lee los caracteres por parejas, reconstruye v y sabe por su valor si llevaba 13 o 14 bits.

Ejemplo

Codificar el texto test (bytes 74 65 73 74):

  • los dos primeros bytes dejan la cola en 0x6574; sus 13 bits bajos son 0x0574 = 1396, mayor que 88, así que se toman 13 bits;
  • 1396 mod 91 = 31 → f, 1396 div 91 = 15 → P;
  • el resto de los bytes sigue igual y el resultado es fPNKd.

Hello, World! se codifica como >OwJh>}AQ;r@@Y?F.

Consejos

  • La salida de basE91 lleva “ y otros símbolos: ponla entre comillas simples en la terminal o escápala en JSON.
  • No hay relleno ni suma de control: una cadena cortada se decodifica en menos bytes sin avisar.
  • Para URL o nombres de archivo, es mejor Base64 en su variante URL o Base58.

Preguntas frecuentes

¿Qué es basE91?

Una codificación de binario a texto creada por Joachim Henke. Lee la entrada de 13 en 13 o de 14 en 14 bits y escribe cada bloque con dos caracteres de un alfabeto de 91 caracteres ASCII imprimibles: A–Z, a–z, 0–9 y los símbolos !#$%&()*+,./:;<=>?@[]^_`{|}~".

¿Cuánto más corto es basE91 que Base64?

Base64 siempre añade un 33 % (4 caracteres por 3 bytes). basE91 añade entre un 14 % y un 23 % según los datos, porque 91 × 91 = 8281 valores caben en 13 bits y a menudo en 14. Hello, World! (13 bytes) ocupa 16 caracteres en basE91 y 20 en Base64.

¿Qué caracteres evita basE91?

El espacio, el apóstrofo ('), el guion (-) y la barra invertida (\), además de los caracteres de control. Por eso la salida es segura en la mayoría de campos de texto, pero lleva comillas y símbolos, así que no sirve en URL ni en nombres de archivo sin escapar.

¿Se admiten saltos de línea en el texto codificado?

Sí. Al decodificar se saltan espacios y saltos de línea, así que un basE91 partido en líneas se decodifica bien. Cualquier otro carácter fuera del alfabeto se marca como error.

Más en Desarrollo

Todas las herramientas de la categoría: Desarrollo ·Actualizado el 7 de noviembre de 2026

Opciones de privacidad

Google Analytics nos muestra qué herramientas se usan y si funcionan. Puede usar cookies. Tu elección se guarda en este navegador.