【问题标题】:JSON encode/decode base64 encode/decode in JavaScriptJSON 编码/解码 JavaScript 中的 base64 编码/解码
【发布时间】:2011-01-12 03:19:04
【问题描述】:

JavaScript 中有 JSON 编码/解码 base64 编码/解码功能吗?

【问题讨论】:

标签: javascript json base64


【解决方案1】:

是的,btoa() 和 atob() 在某些浏览器中工作:

var enc = btoa("this is some text");
alert(enc);
alert(atob(enc));

【讨论】:

  • "Some browsers" === "Gecko and WebKit"
  • @Matt Ball。大多数语言都会反驳:)
  • javascript:window.opera && window.btoa && confirm("hi")
  • 为什么选择window.opera?我消除了它,它适用于 Firefox 和 Chrome。不知道为什么 IE 的工具不允许我在脚本控制台中测试 JavaScript。我会继续寻找。
  • 供参考,自 IE 10 起所有浏览器都支持它。caniuse.com/#feat=atob-btoa
【解决方案2】:

【讨论】:

    【解决方案3】:

    这可能对您有所帮助。结合使用这个项目crypto-js 和 Prototype 来解析 JSON,我编写了两个函数来将 JSON 编码/解码为 Base 64。(这些函数不检查格式不正确的 json)

    
        函数 JSONtoBase64(jsonObj) {
            返回 Crypto.util.bytesToBase64(Crypto.charenc.UTF8.stringToBytes(Object.toJSON(jsonObj)));
        };
    
        函数 base64ToJSON(字节){
            var jsonString = Crypto.charenc.UTF8.bytesToString(Crypto.util.base64ToBytes(bytes));
            返回 jsonString.evalJSON();
        };
    
    

    【讨论】:

      【解决方案4】:

      对于非 Mozilla 浏览器,请使用:http://www.webtoolkit.info/javascript-base64.html

      对于 Mozilla 浏览器,请使用 btoa()atob()

      【讨论】:

        【解决方案5】:

        我认为没有内置的,但这是 jquery 中 JSON 的函数:(由于我是新手,无法发布链接)
        jQuery.getJSON
        jQuery.parseJSON

        这里是 javascript 中 base64 编码的链接。
        http://www.webtoolkit.info/javascript-base64.html

        【讨论】:

        • jQuery.parseJSON 已在 1.4 中添加,在以前的版本中不起作用。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多