ForHosting KIT · Utilidades de desarrollo

Codificador y decodificador z-base-32

«Hello» se convierte en jb1sa5dx con z-base-32, el alfabeto Base32 de Zooko que deja fuera el 0, el 2, la l y la v y no añade relleno, así que los códigos quedan cortos y se dictan o se copian a mano sin confusiones. 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
Modo de cálculo
Encode
Obtiene
Resultado
jb1sa5dx
Longitud
8
Bytes de entrada
5
Alfabeto
z-base-32

z-base-32 es la variante de Base32 orientada a personas de Zooko Wilcox-O'Hearn: un alfabeto de treinta y dos símbolos cuidadosamente reordenado que favorece la lectura, la escritura y la transcripción oral, y empaqueta cinco bits por carácter. A diferencia del Base32 del RFC 4648, elimina pares confusos, reordena los símbolos para que los sonidos habituales aparezcan con más frecuencia y omite el relleno con signos de igual, de modo que los tokens se mantienen cortos. Esta capacidad convierte texto UTF-8 en z-base-32 en minúsculas o recupera el texto original a partir de una cadena z-base-32.

Cómo z-base-32 empaqueta bits con el alfabeto de Zooko

z-base-32 parte de la misma idea de cinco bits por carácter que el Base32 clásico, pero la tabla de símbolos es completamente distinta. Los treinta y dos caracteres son y b n d r f g 8 e j k m c p q x o t 1 u w i s z a 3 4 5 h 7 6 9 en ese orden.

Se excluyen el dígito cero, el dos, la letra ele y la letra uve porque se confunden con facilidad con otros glifos cuando alguien lee un código en voz alta o lo copia a mano. Los símbolos restantes se ordenan de forma que las vocales y las consonantes frecuentes tiendan a aparecer antes en el espacio de valores, lo que hace las cadenas aleatorias un poco más pronunciables.

La codificación trata su entrada como bytes UTF-8, los lee como un flujo continuo de bits y emite un carácter del alfabeto por cada cinco bits. Los bits sobrantes al final se rellenan con ceros a la derecha para completar un quinteto final; no se añaden signos de igual. La decodificación invierte el mapa: cada símbolo aporta cinco bits, los bytes completos se emiten en cuanto se acumulan ocho bits y se descartan los bits residuales de relleno que no forman un byte completo.

Se ignoran los espacios en blanco para que los pegados de varias líneas sigan funcionando, y las mayúsculas se convierten a minúsculas antes de la búsqueda. Esta página no es deliberadamente el Base32 del RFC 4648 ni Crockford Base32; esos alfabetos y reglas de relleno son intenciones de búsqueda distintas con otros objetivos de interoperabilidad.

Qué se envía y qué se recibe

Envíe un campo de cadena obligatorio llamado text y un campo mode opcional con encode o decode. Si se omite mode, encode es el valor predeterminado, de modo que una carga mínima sigue siendo útil. El modo encode trata text como contenido UTF-8 plano y devuelve una cadena result en minúsculas del alfabeto de Zooko sin relleno.

El modo decode trata text como z-base-32, normaliza mayúsculas y espacios, valida cada símbolo y devuelve la cadena UTF-8 recuperada en result. Ambas direcciones devuelven mode, el text original, result, un campo length de la salida principal, etiquetas alphabet y charset, un indicador padding en false y una breve referencia al estándar para que los clientes comprueben el perfil.

Las comprobaciones habituales incluyen codificar una palabra corta como Hello, decodificar el resultado de ida y vuelta al mismo texto y forzar un error pegando un símbolo que z-base-32 excluye a propósito, como el cero o la letra ele. Use el formulario gratuito del navegador para comprobaciones rápidas y demos, y después invoque el mismo contrato desde scripts cuando necesite tokens en masa o casos de regresión.

Dónde aparece z-base-32 en el trabajo real

Los identificadores orientados a personas que deben leerse por teléfono, escribirse en papel o teclearse desde una captura se benefician de un alfabeto que evita glifos ambiguos. z-base-32 se diseñó exactamente para eso: sistemas de código abierto como Mnet y Tahoe-LAFS, y protocolos como ZRTP, lo adoptaron para intercambiar códigos compactos sin las trampas del cero frente a la O y del uno frente a la I de alfabetos más densos.

Los equipos de producto que crean frases de recuperación sin conexión, códigos de autenticación cortos en air-gap o tokens de un solo uso para soporte suelen preferir la tabla de Zooko cuando la cadena se dictará o transcribirá en lugar de solo escanearse. Los grupos de ingeniería que escriben pruebas de interoperabilidad necesitan una única verdad de referencia para codificar y decodificar que coincida con sus bibliotecas y nunca sustituya en silencio caracteres ilegales.

Quienes enseñan esquemas de codificación quieren una landing dedicada a z-base-32 en lugar de enterrarlo bajo el Base32 del RFC 4648, porque se busca Zooko, Base32 humano y tokens sin relleno como intenciones separadas. El personal de soporte que pega códigos de varias líneas desde el chat necesita tolerancia a espacios sin aceptar símbolos basura que producirían una clave incorrecta.

Si necesita el Base32 clásico del RFC 4648 con A-Z y del dos al siete, Base64 o Crockford Base32, trátelos como landings distintas en lugar de sobrecargar esta página del codificador z-base-32.

Códigos de recuperación hablados y manuscritos

Codifique secretos cortos como z-base-32 para que los usuarios puedan leerlos en voz alta o anotarlos sin confundir el cero, la ele, la uve o el dos con glifos parecidos.

Tokens sin conexión legibles por personas

Genere identificadores compactos sin relleno para autenticación air-gapped, códigos de un solo uso de soporte o URL de producto que se teclean a mano.

¿Qué alfabeto usa z-base-32?

El alfabeto permutado de Zooko ybndrfg8ejkmcpqxot1uwisza345h769. Excluye 0, l, v y 2, y no usa relleno con '='.

¿En qué se diferencia del Base32 del RFC 4648?

El RFC 4648 usa A-Z y 2-7 con relleno opcional de iguales. z-base-32 usa otro orden de símbolos, elimina caracteres ambiguos y omite el relleno. No son intercambiables.

¿Puedo codificar y decodificar?

Sí. Ponga mode en encode (predeterminado) para convertir texto UTF-8 plano en z-base-32, o mode en decode para recuperar el texto a partir de una cadena z-base-32.

¿Qué ocurre si la cadena tiene un carácter inválido?

Los símbolos fuera del alfabeto de Zooko nunca se sustituyen. Los fallos de validación no se cobran.

¿Cuánto cuesta?

La herramienta del navegador es gratuita y se ejecuta en local.

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/base32-zbase

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

El modo de codificación empaqueta sus bytes en el alfabeto ybndrfg8ejkmcpqxot1uwisza345h769; el de decodificación unifica mayúsculas, elimina espacios y rechaza cualquier símbolo ilegal con un error invalid_input claro, para que un carácter mal escrito no se convierta en silencio en una carga incorrecta.

Cómo z-base-32 empaqueta bits con el alfabeto de Zooko

Un carácter fuera del alfabeto lanza invalid_input con la posición y el símbolo infractor, el fallo correcto para tokens que las personas escriben con prisa. El recorrido es empaquetado puro de bits enteros, sin red, sin semillas aleatorias y sin marcas de tiempo, de modo que entradas idénticas siempre producen JSON idéntico.

Qué se envía y qué se recibe

Encode también informa input_bytes; decode informa output_bytes. La ausencia de text, objetos que no sean cadenas, valores de mode no admitidos, cadenas que superen el máximo documentado, caracteres ilegales del alfabeto o bytes decodificados que no sean UTF-8 válido fallan con invalid_input y un mensaje claro en inglés. Los fallos de validación no consumen saldo prepagado. El precio de las llamadas API correctas es la base publicada de $0.002 por elemento.

Dónde aparece z-base-32 en el trabajo real

Al ser un motor de parse puro, el precio de la API es la base publicada de $0.002 por elemento correcto y la validación fallida no consume saldo.

Vectores de interoperabilidad para bibliotecas de Zooko

Genere vectores golden de codificación y decodificación que coincidan con bibliotecas z-base-32 usadas en ZRTP, sistemas al estilo Tahoe y herramientas de código abierto afines.

Ver la documentación completa del KIT →