Codificación Base64 frente a Base58

https://qvault.io/2020/03/03/base64-vs-base58-encoding/?utm_source=rss&utm_medium=rss&utm_campaign=base64-vs-base58-encoding

Por Lane Wagner – @wagslane en Twitter

Base64 es uno de los formatos de codificación más populares para representar datos. ¿Tienes algunos datos binarios? Codifíquelo en Base64 para facilitar la lectura y el análisis. Base58 es solo otro formato de codificación (con 58 caracteres en lugar de 64, y ha ganado popularidad en gran parte debido a Bitcoin y otras criptomonedas.

Cuando se trata de la codificación de datos, normalmente existe una compensación entre:

¡Clasifiquemos la codificación Base58, Base64 y ASCII entre sí utilizando estas métricas!

Primero: una nota sobre binario

Todos los datos se almacenan en un formato binario sin procesar en las computadoras. Estos formatos de codificación (Base64, Base58 y ASCII) son solo formas diferentes de leer y escribir datos binarios. Por ejemplo, en Base64 el código binario 000000 representa la letra A , pero en ASCII el 00000000 binario representa el código NUL personaje.

Codificación ASCII

Rango de legibilidad humana: 1. °

No todos los caracteres del lenguaje humano son posibles usando ASCII, pero los más importantes sí lo son. ASCII está diseñado para usarse en aplicaciones que necesitan una forma sencilla de representar texto en latín, números arábigos y caracteres de formato como nuevas líneas y espacios. ASCII se basa en cómo funcionaban las máquinas de escribir en los días anteriores a la informática.

Clasificación de compresión de datos: 3.º

Cada carácter (normalmente) toma un byte completo (8 bits) de datos. Para representar el carácter NUL , necesitamos almacenar 00000000 , ¡que son muchos ceros desperdiciados! Vale la pena señalar que ASCII puede funcionar con solo 7 bits, pero debido a que las computadoras funcionan en base 2, es más simple usar un byte completo.

También puede llamar a ASCII Base128 porque su alfabeto está compuesto por 128 caracteres.

Base64

Rango de legibilidad humana: 3.º

Base64 está diseñado para transportar datos almacenados en formatos binarios a través de canales que solo admiten contenido de texto de manera confiable

https://en.wikipedia.org/wiki/Base64

Base64 fue diseñado esencialmente para engañar a las computadoras ... algo así. Cuando tenemos binarios pero solo podemos transportar o mostrar texto, Base64 es una gran opción.

Rango de compresión de datos: 2.º

Cada carácter solo toma 6 bits de datos, y se usa un carácter de relleno, = , para redondear al múltiplo de 4 más cercano.

Base58

Rango de legibilidad humana: 2. °

Base58 fue inventado por Satoshi Nakamoto, el creador anónimo de Bitcoin. El objetivo era obtener niveles de compresión de datos comparables a los de Base64, pero facilitar la lectura para los humanos eliminando caracteres que se parecen a 0 (cero), O (o mayúscula), I (i mayúscula), l (minúscula L). Los caracteres alfanuméricos + (más) y / (barra) también se omitieron para facilitar la lectura.

Clasificación de compresión de datos: 3.º

Muy similar al de Base64, pero debido a 6 caracteres menos, no es tan eficiente. Además, el análisis es un poco más incómodo debido a que la base no es una potencia de 2.

¡Gracias por leer!

Lane en Twitter: @wagslane

Carril en Dev.to: wagslane

Descarga Qvault: https://qvault.io

La codificación posterior Base64 vs Base58 apareció primero en Qvault.