Conversiones

Conversiones

Base64 a bits

  1. Convertir cada carácter Base64 a un número: Cada carácter de la cadena Base64 tiene un valor numérico entre 0 y 63. Puedes utilizar una tabla de conversión o el estándar Base64 para hacer esto. Por ejemplo:
    • A es 0
    • B es 1
    • a es 26
    • b es 27
    • + es 62
    • / es 63
  2. Convertir cada valor numérico a su representación binaria (6 bits): Una vez que tienes el valor numérico de cada carácter, lo conviertes a su forma binaria, asegurándote de que cada valor ocupe exactamente 6 bits.
  3. Unir los bits obtenidos: Después de convertir cada carácter en 6 bits, juntas todos los bits para obtener la representación binaria completa.
  4. Eliminar bits de relleno (si es necesario): Si la cadena Base64 tiene símbolos de relleno (= al final), estos representan que hubo bits adicionales agregados para completar el último bloque de 24 bits. Debes eliminarlos al final.

Supongamos que tenemos la cadena Base64 TWFu.

  1. Convertir los caracteres Base64 a valores numéricos:

    • T = 19
    • W = 22
    • F = 5
    • u = 46
  2. Convertir cada valor numérico a su representación en 6 bits:

    • T (19) → 010011
    • W (22) → 010110
    • F (5) → 000101
    • u (46) → 101110
  3. Unir los bits obtenidos: La secuencia completa sería:

    010011 010110 000101 101110
  4. Resultado en bits: El resultado en bits sería:

    010011010110000101101110

Este es el valor original de los datos representados en Base64, que contiene 24 bits (4 caracteres Base64 × 6 bits por carácter = 24 bits).

Consideraciones sobre los caracteres de relleno (=)

Cuando la longitud de los datos originales no es un múltiplo exacto de 24 bits (3 bytes), Base64 usa uno o dos caracteres = al final para completar el último bloque de 24 bits. Si encuentras un = o ==, debes eliminar los bits de relleno al decodificar:

  • Un = indica que los datos originales eran de 2 bytes (16 bits) y se agregaron 2 bits adicionales.
  • Dos = indican que los datos originales eran de 1 byte (8 bits) y se agregaron 4 bits adicionales.

En resumen, para convertir de Base64 a bits, convierte cada carácter Base64 a su valor binario de 6 bits y elimina cualquier bit de relleno al final si hay caracteres =.

4o

Hexadecimal a Base64:

  1. Convertir el hexadecimal a bits:
    • Cada dígito hexadecimal representa 4 bits. Convierte cada dígito hexadecimal en su equivalente binario.
  2. Agrupar los bits en bloques de 6 bits:
    • Base64 utiliza bloques de 6 bits, por lo que tendrás que agrupar los bits de la representación binaria en bloques de 6. Si el número total de bits no es múltiplo de 6, rellena con ceros al final.
  3. Convertir los bloques de 6 bits a caracteres Base64:
    • Cada bloque de 6 bits se mapea a un carácter Base64 usando una tabla estándar. La tabla de Base64 utiliza los caracteres A-Z, a-z, 0-9, +, y /.
  4. Añadir padding si es necesario:
    • Si el número total de bits no es un múltiplo de 24, Base64 usa caracteres de relleno (=) para completar los bloques. Dependiendo del número de bits restantes (que pueden ser 8 o 16 bits), se agregan uno o dos caracteres =.

Supongamos que tenemos la cadena hexadecimal:

4d616e
  1. Convertir el hexadecimal a binario:

    • 4d01001101
    • 6101100001
    • 6e01101110

    Juntamos todo y tenemos:

    01001101 01100001 01101110
  2. Agrupar en bloques de 6 bits:

    • 010011 (19)
    • 010110 (22)
    • 000101 (5)
    • 101110 (46)
  3. Convertir cada bloque a caracteres Base64 usando la tabla Base64:

    • 010011T
    • 010110W
    • 000101F
    • 101110u
  4. Resultado en Base64: La cadena hexadecimal 4d616e se convierte en la cadena Base64 TWFu.

Base64 a Hexadecimal:

  1. Convertir cada carácter Base64 a su valor en 6 bits:
    • Usa la tabla Base64 para convertir cada carácter de la cadena en un bloque de 6 bits.
  2. Agrupar los bits en bloques de 4 bits:
    • Como el hexadecimal usa 4 bits por dígito, tendrás que agrupar los bits de la representación en bloques de 4 bits.
  3. Convertir los bloques de 4 bits a hexadecimal:
    • Convierte cada bloque de 4 bits a su equivalente hexadecimal.
  4. Eliminar bits de relleno si los hay:
    • Si hay caracteres = al final de la cadena Base64, asegúrate de ignorar los bits de relleno al hacer la conversión.

Supongamos que tienes la cadena Base64:

TWFu
  1. Convertir cada carácter Base64 a 6 bits:

    • T010011
    • W010110
    • F000101
    • u101110

    Juntamos todo y obtenemos:

    010011 010110 000101 101110
  2. Agrupar los bits en bloques de 4 bits:

    • 0100 (4)
    • 1101 (D)
    • 0110 (6)
    • 0001 (1)
    • 0110 (6)
    • 1110 (E)
  3. Convertir cada bloque de 4 bits a hexadecimal:

    • 01004
    • 1101D
    • 01106
    • 00011
    • 01106
    • 1110E
  4. Resultado en hexadecimal: La cadena Base64 TWFu se convierte en el hexadecimal 4d616e.

De hexadecimal a Base64: Convierte cada dígito hexadecimal a su representación binaria (4 bits), agrupa en bloques de 6 bits, y convierte esos bloques a caracteres Base64.

De Base64 a hexadecimal: Convierte cada carácter Base64 a su valor binario (6 bits), agrupa en bloques de 4 bits, y convierte esos bloques a su representación hexadecimal.