> máximo | eficiente | compacto <
// Codificación Base91 con 91 caracteres ASCII imprimibles para la máxima eficiencia de espacio
Máxima eficiencia
Base91 ofrece uno de los mejores ratios de compresión entre los esquemas de codificación base, con un overhead aproximado del 23 %.
Caracteres imprimibles
Utiliza 91 caracteres ASCII imprimibles, manteniendo la compatibilidad con flujos de texto y protocolos habituales.
Ahorro de espacio
Más compacto que Base64 (≈33 % de overhead), lo que reduce el tamaño de logs, respuestas de API y otros payloads de texto.
>> información técnica
Cómo funciona Base91:
Base91 aprovecha 91 de los 94 caracteres ASCII imprimibles (excluyendo guion, barra invertida y apóstrofo) y empaqueta 13–14 bits en cada par de caracteres de salida, logrando una eficiencia muy alta.
Ejemplo:
"Hello" → >OwJh>A
Por qué usar Base91:
- >Minimizar el tamaño de los datos codificados
- >Overhead cercano al 23 % frente al ~33 % de Base64
- >Solo utiliza caracteres ASCII imprimibles
- >Ideal cuando el ancho de banda o el almacenamiento son limitados
- >Mayor densidad de información en texto y registros
>> preguntas frecuentes
¿Qué es la codificación Base91?
Base91 es un esquema de codificación binario‑a‑texto que utiliza 91 caracteres ASCII imprimibles para conseguir una eficiencia de compresión muy alta frente a otros esquemas como Base64.
¿Cuándo tiene sentido usar Base91?
Base91 es útil cuando cada byte importa: por ejemplo en registros muy grandes, APIs con ancho de banda limitado o canales de mensajería donde se quiere reducir al máximo el tamaño de los mensajes.
¿Qué diferencia hay entre Base91 y Base64 en eficiencia?
Base64 suele añadir alrededor de un 33 % de sobrecarga respecto a los datos originales, mientras que Base91 se queda en torno al 23 %, produciendo salidas sensiblemente más pequeñas.
¿Base91 está ampliamente soportado?
Base91 no es tan común como Base64, pero existen implementaciones en muchos lenguajes y se utiliza en proyectos en los que la eficiencia y la compacidad del texto son prioritarias.
// Comparación
| Nombre | bits/char | overhead |
|---|---|---|
| Base16 | 4 | 100% |
| Base32 | 5 | 60% |
| Base64 | 6 | 33.3% |
| Base85 | 6.41 | 24.8% |
| Base91 | 6.51 | 22.9% |
// Ejemplos de código
Alphabet A-Z a-z 0-9 ! # $ % & ( ) * + , . / : ; < = > ? @ [ ] ^ _ ` { | } ~ "
Excluded - \ ' and space (3 of the 94 printable ASCII characters)
Bits log2(91) = 6.508 bits/char -> 8 / 6.508 = 1.229 (~23% overhead)
Python pip install base91 base91.encode(b'Hello')
JS npm i base91 base91.encode(...)
>> Más preguntas
P: ¿Qué 91 caracteres usa basE91?
R: basE91 usa 91 de los 94 caracteres ASCII imprimibles (sin espacio): A–Z a–z 0–9 y ! # $ % & ( ) * + , . / : ; < = > ? @ [ ] ^ _ ` { | } ~ ". Se excluyen -, \ y '. Las comillas " sí están incluidas y hay que escaparlas en JSON o shell.
P: ¿Por qué la sobrecarga de Base91 es de aproximadamente el 23 %?
R: Con 91 símbolos, cada carácter aporta log₂(91) ≈ 6,508 bits. 8 / 6,508 ≈ 1,229, es decir, cerca del 22,9 % de sobrecarga. Comparación: Base32 60 %, Base64 33 %, Base85 25 %.
P: ¿Cuándo es mejor Base91 que Base64?
R: Solo cuando cada byte cuenta, como en sistemas embebidos o protocolos limitados. Base91 no es seguro para URL, no está en bibliotecas estándar y tiene poco soporte. Para el uso cotidiano, Base64 es mejor.