Saltar al contenido

Decodificar Base64 a cadena hexadecimal con javascript

Solución:

atob () luego 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 prueba el siguiente código ?:

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

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

En este punto, divide la cadena, toma el código de cada carácter y luego convierte ese a una cuerda de base 16 acolchada a la izquierda.

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 *