【问题标题】:Decode URL Safe Base64 in JavaScript (browser side)在 JavaScript 中解码 URL Safe Base64(浏览器端)
【发布时间】:2015-03-21 22:37:53
【问题描述】:

我正在使用 Gmail 的 API 从我的帐户中获取电子邮件。邮件正文以“URL safe base64”格式传送。解码它以供使用的最佳方法是什么?我找到了一些 nodejs 解决方案,但没有找到客户端解决方案。 window.atob 不起作用,因为它是 URL 安全的。

感谢您的帮助。

【问题讨论】:

    标签: javascript base64 gmail-api


    【解决方案1】:

    为了后代,

    atob(data.replace(/_/g, '/').replace(/-/g, '+'))
    

    正如规范https://www.rfc-editor.org/rfc/rfc4648#section-5 所述,但是因为它使用atob(),它不支持Unicode 字符,因此需要a polyfill

    【讨论】:

    • 这是不是应该用 atob(data).replace(/_/g, '/').replace(/-/g, '+') 代替
    • 从通用编解码器的Base64版本读取,应该是相反的:btoa(data) .replace(/\//g, '_').replace(/\+/g, ' -'))),
    • jmnben:不,我们想在解码之前替换“_”和“-”。
    【解决方案2】:

    终于找到了。这会进行 URL 安全解码

    https://github.com/dankogai/js-base64

    【讨论】:

      【解决方案3】:

      decodeURIComponent(atob(data))

      【讨论】:

        猜你喜欢
        • 2015-10-09
        • 2016-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-09
        • 2022-12-26
        相关资源
        最近更新 更多