使用javascript将Base64解码为十六进制字符串

新手上路,请多包涵

需要使用 javascript 将 Base64 字符串转换为十六进制。

例子:

 var base64Value = "oAAABTUAAg=="

需要转换方法

输出(解码数据(十六进制)) A0000005350002

我知道这是正确的,因为我可以使用这个网站 http://tomeko.net/online_tools/base64.php?lang=en

并打入 oAAABTUAAg== 的 Base64 字符串并得到 A0000005350002

我尝试了什么?

https://github.com/carlo/jquery-base64

https://jsfiddle.net/gabrieleromanato/qaght/

我发现了很多问题

原文由 user6736489 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.3k
2 个回答

atob() 然后 charCodeAt() 会给你二进制 & toString(16) 会给你十六进制。

 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=="));

原文由 user3094755 发布,翻译遵循 CC BY-SA 4.0 许可协议

为什么不试试下面的代码?:

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

原文由 user11429314 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题