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)