Saltar al contenido
uencoder

Base58

Base58 es una codificación binaria-a-texto orientada al usuario que usa 58 caracteres (eliminando de Base64 los fáciles de confundir 0, O, I, l, + y /), conocida sobre todo por las direcciones de criptomonedas.

Propósito

Evita errores de transcripción por caracteres parecidos (0/O, I/l) y mantiene la salida seleccionable con doble clic (sin caracteres que el terminal dividiría).

Mecanismo

El flujo de bytes de entrada se trata como un único entero grande, reducido repetidamente módulo 58 para derivar cada índice de carácter (como una conversión de base); los bytes cero iniciales se proyectan a unos iniciales. Como la proyección no está alineada a bits, la longitud codificada no es fija y la decodificación requiere aritmética de enteros grandes.

Casos de uso

  • Codificación de direcciones Bitcoin / Litecoin
  • Representación multibase de CID de IPFS
  • Direcciones Monero
  • Generación de enlaces cortos y códigos de invitación

Ejemplos

  • entrada
    Hello World
    Output
    JxF12TrwUP45BMd

    The Bitcoin Base58 alphabet

Errores comunes

Assuming Base58 works on 6-bit groups (it is actually big-integer modulo arithmetic)
Use a big-integer, byte-by-byte implementation or a mature library

Términos relacionados

Herramientas relacionadas

References