在javascript中将十六进制字符串转换为base64

时间:2015-06-03 07:46:43

标签: javascript base64 md5

现在我有一个文件的MD5十六进制摘要字符串,我想将其转换为base64,以便在上传时使用Content-MD5 HTTP标头。

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:4)

var hexArray = myHexString
    .replace(/\r|\n/g, "")
    .replace(/([\da-fA-F]{2}) ?/g, "0x$1 ")
    .replace(/ +$/, "")
    .split(" ");
var byteString = String.fromCharCode.apply(null, hexArray);
var base64string = window.btoa(byteString);

请参阅此处了解btoa文档:https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/btoa

也适用于polyfill:https://stackoverflow.com/a/23190164/275501

答案 1 :(得分:0)

现代浏览器内置了以下功能:https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding

对于旧版浏览器,您需要一个库,例如https://github.com/beatgammit/base64-js