【问题标题】:Converting a hexadecimal string to base64 in javascript [duplicate]在javascript中将十六进制字符串转换为base64 [重复]
【发布时间】:2015-08-17 07:08:03
【问题描述】:

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

任何帮助将不胜感激

【问题讨论】:

    标签: javascript base64 md5


    【解决方案1】:
    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

    【讨论】:

      【解决方案2】:

      现代浏览器为此内置了函数:https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding

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

      【讨论】:

      • 如何将十六进制字符串转换为可以在这些方法中使用的字符串?
      • 他并没有询问将十六进制表示编码为Base64,而是询问如何对十六进制字符串表示的底层数据进行编码。将十六进制字符串表示编码为 Base64 是没有意义的。
      猜你喜欢
      • 2017-05-27
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-03
      • 2018-10-12
      • 2011-05-15
      • 2019-01-17
      • 2023-03-08
      相关资源
      最近更新 更多