Cómo se usa
- Elige Codificar para convertir texto en Base62, o Decodificar para convertir Base62 de nuevo en texto.
- Selecciona en Alfabeto el orden que use tu sistema: 0-9 A-Z a-z (predeterminado) o 0-9 a-z A-Z.
- Escribe o pega la entrada, o abre un archivo pequeño (de hasta unos 20 KB).
- Copia el resultado o descárgalo como archivo.
¿Qué es Base62?
Base62 usa los diez dígitos, las 26 letras mayúsculas y las 26 letras minúsculas. Es el alfabeto más grande formado solo por letras y dígitos, así que el resultado no necesita escapes en URL, nombres de archivo, claves de bases de datos ni identificadores en el código. Cada carácter transporta unos 5,95 bits, por lo que la salida ocupa unas 1,34 veces el tamaño de la entrada: casi tan compacta como Base64, pero sin +, /, =, - ni _.
Como 62 no es una potencia de dos, esta herramienta trata toda la entrada como un único número grande y lo convierte a base 62, igual que Base58 y Base36. Cada byte cero inicial se escribe como un 0 inicial para que se conserve en la conversión de ida y vuelta. La entrada está limitada a unos 20 KB porque los cálculos se ralentizan con datos grandes.
No existe un único estándar Base62
A diferencia de Base64, Base62 no tiene RFC, y las implementaciones difieren en aspectos que hacen incompatibles sus resultados:
- Orden del alfabeto. Esta herramienta ofrece
0-9A-Za-z(el predeterminado) y0-9a-zA-Z. Algunas bibliotecas ponen las letras antes que los dígitos. - Ceros iniciales. Algunas implementaciones conservan un
0por cada byte cero inicial, como esta herramienta, otras los descartan y los formatos de longitud fija rellenan el resultado hasta un ancho determinado. - Qué se codifica. Muchas funciones Base62 codifican un número entero, como el ID de una base de datos, en lugar de una secuencia de bytes. Otras dividen los datos en bloques de tamaño fijo.
Si una cadena de otro sistema se decodifica aquí como texto sin sentido, prueba la otra opción de alfabeto. Si sigue sin funcionar, es probable que ese sistema use otro método.
Dónde se usa Base62
Los acortadores de URL convierten un ID autoincremental en un código corto: siete caracteres Base62 cubren más de 3,5 billones de valores. Los ID ordenables como KSUID usan una forma Base62 fija de 27 caracteres, y muchos servicios usan Base62 para claves de API y tokens porque un doble clic selecciona toda la cadena y se puede pegar en cualquier sitio. Para convertir un solo número entero, usa el conversor de bases numéricas o unas pocas líneas de código:
// JavaScript: entero (BigInt) a Base62
const A = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
function toBase62(n) {
let s = '';
do { s = A[Number(n % 62n)] + s; n /= 62n; } while (n > 0n);
return s;
}
toBase62(123456789n); // '8M0kX'
Especificación
| Alfabeto | 0-9 A-Z a-z |
|---|---|
| Tamaño de salida | Aprox. 134% (conversión como número grande) |
| Relleno | Ninguno |
| Estándar | Sin estándar formal |
| Distingue mayúsculas y minúsculas | Sí |
Ejemplos
| Entrada (UTF-8) | Salida |
|---|---|
Hello, World! | 1wJfrzvdbtXUOlUjUf |
Base64.is | NWxjrFq4r3rv |
你好 | 19PqtKE1t |
Preguntas frecuentes
¿Base62 es seguro para URL?
¿Por qué mi cadena Base62 se decodifica como un texto incorrecto?
Las implementaciones de Base62 difieren en el orden del alfabeto y en el método. Cambia entre los alfabetos 0-9A-Za-z y 0-9a-zA-Z. Si ninguno funciona, probablemente la cadena se generó a partir de un número entero o con otro algoritmo.
¿Base62 distingue mayúsculas y minúsculas?
Sí. Las mayúsculas y las minúsculas representan valores distintos, así que nunca hay que convertir una cadena Base62 a mayúsculas ni a minúsculas.