使用 JavaScript 实现一个函数,参数是一个 base64 的字符串,将这个字符串解析成二进制数据,并将这个二进制数据的每个字节以一个十六进制两位数表示出来,每个字节的十六进制两位数之间空一格,每行 16 个字节,返回整理好的十六进制形式。
function base64ToHex(base64Str) {
// 解析 base64 字符串为 Uint8Array 类型的二进制数据
const binaryData = Uint8Array.from(atob(base64Str), c => c.charCodeAt(0));
// 将每个字节转换为十六进制格式
let hexData = '';
for (let i = 0; i < binaryData.length; i++) {
hexData += binaryData[i].toString(16).padStart(2, '0') + ' ';
if ((i + 1) % 16 === 0) {
hexData += '\n';
}
}
return hexData.trim();
}
/*
输入:eJwFwc8NwWAAh+H3pz6VVpRKI5T4EyQicekBLRdCwjCkQ2hXEAdLuDmYgzks4Hl+BUvWmdIexIwnZRe9UQV5qIXGqI4s5KMaaqAVmqAXTht18Qo4S+Y9tJZZMN1ICZMYhYyONC90UoJIQZ/qAA3xr7IzubmKX8wH+4Z5YO6UtjI7meqQJQtSEk5kOnChR0hMpFz8/hq+FNg=
输出:
78 9c 05 c1 cf 0d c1 60 00 87 e1 f7 a7 3e 95 56
94 4a 23 94 f8 13 24 22 71 e9 01 2d 17 42 c2 30
a4 43 68 57 10 07 4b b8 39 98 83 39 2c e0 79 7e
05 4b d6 99 d2 1e c4 8c 27 65 17 bd 51 05 79 a8
85 c6 a8 8e 2c e4 a3 1a 6a a0 15 9a a0 17 4e 1b
75 f1 0a 38 4b e6 3d b4 96 59 30 dd 48 09 93 18
85 8c 8e 34 2f 74 52 82 48 41 9f ea 00 0d f1 af
b2 33 b9 b9 8a 5f cc 07 fb 86 79 60 ee 94 b6 32
3b 99 ea 90 25 0b 52 12 4e 64 3a 70 a1 47 48 4c
a4 5c fc fe 1a be 14 d8
*/
标签:十六进制,字节,二进制,base64,hexData,字符串
From: https://www.cnblogs.com/wujiuqier/p/18288354