Saltar al contenido

Decodificar Base64 a Hexadecimal string con javascript

Si te encuentras con alguna parte que no comprendes puedes comentarlo y trataremos de ayudarte rápidamente.

Solución:

atob() entonces charCodeAt() le dará binario y toString(16) le dará hexadecimal.

function base64ToHex(str) 
  const raw = atob(str);
  let result = '';
  for (let i = 0; i < raw.length; i++) 
    const hex = raw.charCodeAt(i).toString(16);
    result += (hex.length === 2 ? hex : '0' + hex);
  
  return result.toUpperCase();


console.log(base64ToHex("oAAABTUAAg=="));

¿Por qué no probar el siguiente código?:

const buffer = Buffer.from(rawData, 'base64');
const bufString = buffer.toString('hex');

Suponiendo que desea la representación hexadecimal como stringlos window.atob (disponible en la mayoría de los navegadores modernos) es su primer paso: convertirá su base64 string a un ASCII stringdonde cada carácter representa un byte.

En este punto se divide el stringtome el código de carácter de cada carácter, luego convierta que a una base acolchada a la izquierda-16 string.

function base64ToBase16(base64) 
  return window.atob(base64)
      .split('')
      .map(function (aChar) 
        return ('0' + aChar.charCodeAt(0).toString(16)).slice(-2);
      )
     .join('')
     .toUpperCase(); // Per your example output


console.log(base64ToBase16("oAAABTUAAg==")); // "A0000005350002"

(O pruébalo en JSBin)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *