Codificador y decodificador Base94
«Hello, world!» se convierte en /P|?l:+>Nq\sr<+r con Base94, que usa todos los caracteres ASCII imprimibles de ! a ~ salvo el espacio, así que cada carácter lleva más información que en Base64 sin salir del ASCII corriente. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hello, world!
- Resultado
- /P|?l:+>Nq\sr<+r
- Modo de cálculo
- Encode
- Variante
- base94
- Bytes
- 13
La codificación Base94 asigna datos binarios a cada carácter ASCII imprimible distinto del espacio, del signo de exclamación a la tilde—noventa y cuatro símbolos—de modo que cada carácter transporta más información que el alfabeto de sesenta y cuatro símbolos de Base64 y permanece en el rango imprimible clásico de terminales, chat y archivos de configuración en texto plano. Quien busca un codificador Base94 o un decodificador Base94 suele querer densidad máxima sin salir de ASCII, una forma segura al pegar más densa que Base64 para tokens cortos, o un protocolo que ya asume el conjunto imprimible completo sin espacio. La codificación es determinista: UTF-8 y luego conversión de base doscientos cincuenta y seis a base noventa y cuatro con enteros grandes; la decodificación rechaza espacios, caracteres de control y cualquier símbolo fuera del alfabeto en lugar de inventar sustituciones silenciosas.
Codificar texto UTF-8 a Base94 para máxima densidad imprimible
El motor interpreta la cadena como texto Unicode, la serializa a bytes UTF-8 y convierte esos bytes de base doscientos cincuenta y seis a base noventa y cuatro con aritmética de enteros grandes. Cada resto indexa el alfabeto fijo que va del signo de exclamación a la tilde—exactamente noventa y cuatro caracteres ASCII imprimibles, sin espacio ni códigos de control—de modo que el resultado es siempre una cadena densa y segura al pegar para canales que aceptan cualquier carácter imprimible distinto del espacio.
Texto multilingüe, emoji y puntuación se codifican correctamente porque la ruta es UTF-8 pleno, no un atajo Latin-1. La respuesta siempre incluye result con la cadena Base94, mode igual a encode, variant igual a base94, bytes igual a la longitud UTF-8 antes de codificar y alphabet con la cadena completa de noventa y cuatro caracteres para que pueda asertar el alfabeto 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 un empaquetado seguro en texto más denso que Base64 para tokens cortos, fragmentos de configuración, muestras de documentación o cualquier canal que ya tolere el conjunto ASCII imprimible completo sin espacio.
Decodificar Base94 a texto y tratar caracteres inválidos
Fije mode en decode y coloque una cadena Base94 en text. El alfabeto es estricto: solo se aceptan los noventa y cuatro caracteres del signo de exclamación a la tilde. Los signos de exclamación iniciales se decodifican como bytes cero iniciales, en coherencia con la ruta de codificación, de modo que las idas y vueltas que conservan la longitud se mantienen estables.
Una decodificación exitosa devuelve result como la cadena recuperada, mode decode, variant base94, bytes como la longitud UTF-8 decodificada y alphabet en simetría con las respuestas de encode. Prefiera esta capacidad cuando la intención de búsqueda sea literalmente codificador base94, decodificador base94 o codificación base ascii imprimible para contenido legible; Base64 estándar, Base64 URL-safe, Base58 y Ascii85 siguen siendo herramientas aparte con sus propias páginas y alfabetos.
Preguntas frecuentes
¿Cómo se codifica texto a Base94?
El campo result de la respuesta contiene la cadena Base94 y bytes es la longitud UTF-8.
¿Cómo se decodifica Base94 de nuevo a texto?
Fije mode en decode y coloque la cadena Base94 en text. Solo se aceptan los 94 símbolos ASCII imprimibles de ! a ~. El campo result es el texto UTF-8 recuperado.
¿Qué ocurre con un carácter Base94 inválido?
Los caracteres fuera del alfabeto (incluido el espacio y los códigos de control) se rechazan con un mensaje que nombra el carácter y el índice; los fallos de validación no se cobran.
¿El codificador Base94 es gratuito?
La herramienta del navegador se ejecuta gratis en su dispositivo.
¿En qué se diferencia Base94 de Base64?
Base94 usa los 94 caracteres ASCII imprimibles distintos del espacio (!–~) para un empaquetado más denso que el alfabeto de 64 símbolos de Base64. Esta herramienta no es Base64, Base58 ni Ascii85: esas tienen páginas y alfabetos propios.
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/base94 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, world!"}'const res = await fetch("https://api.kit.forhosting.com/enc/base94", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, world!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base94",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, world!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base94", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, world!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, world!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base94", 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
{
"text": "Hello, world!"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base94",
"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
Esta capacidad resuelve ese trabajo con claridad: elija el modo encode o decode, pegue un campo de texto y reciba la cadena transformada más la longitud en bytes y el alfabeto fijo, o un error claro invalid_input cuando la carga a decodificar contiene un carácter fuera del conjunto de noventa y cuatro símbolos.
Codificar texto UTF-8 a Base94 para máxima densidad imprimible
Envíe un cuerpo JSON con el campo de cadena obligatorio text igual al mensaje en claro que desea representar en Base94, y deje mode en su valor predeterminado encode o fije mode en encode de forma explícita. Los bytes cero iniciales del payload UTF-8 se mapean a signos de exclamación iniciales (índice cero del alfabeto), en paralelo a la convención del uno inicial de Base58, de forma que las idas y vueltas conservan la longitud y las cargas vacías permanecen vacías. Se aceptan alias opcionales input, value y s para el mismo campo cuando genera clientes a partir de nombres de formulario antiguos.
Decodificar Base94 a texto y tratar caracteres inválidos
Cualquier otro carácter—incluido espacio, tabulación, salto de línea, códigos de control o bytes fuera del rango imprimible—provoca un fallo inmediato invalid_input con un mensaje que nombra el carácter Base94 inválido y su índice, 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 Base94 gratuito en el navegador para demos de aula, playbooks de soporte, comparaciones de densidad frente a Base64 y conversiones puntuales sin instalar bibliotecas a medida. Un flujo típico codifica un valor de configuración corto para guardarlo en un ticket solo texto que admite cualquier ASCII imprimible distinto del espacio, 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 o Base85 cuando un sistema socio solo hable esos alfabetos, pero mantenga los pasos en páginas distintas para que cada una coincida con una sola intención de búsqueda: densidad máxima imprimible Base94 frente a ubicuidad Base64 o flujos Ascii85 Adobe. 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, variant y alphabet hacen que los ejemplos OpenAPI se expliquen solos a lectores que necesitan el conjunto completo de noventa y cuatro caracteres imprimibles.
Casos de integración
Tokens seguros en texto con máxima densidad
Empaquete secretos cortos UTF-8 o fragmentos de configuración de forma más densa que Base64 para tickets, chat y JSON que aceptan cualquier ASCII imprimible distinto del espacio; luego decodifíquelos en el servicio receptor con el mismo campo mode.
Comparativas de densidad frente a Base64 y Base85
Compare la longitud codificada del mismo payload en Base94, Base64 y Ascii85 al elegir una representación segura en texto para muestras de documentación o notas de diseño de protocolo.
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 Base94 o las reglas de ceros iniciales se desvían.