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)