JSON 编码/解码 JavaScript 中的 base64 编码/解码
Posted
技术标签:
【中文标题】JSON 编码/解码 JavaScript 中的 base64 编码/解码【英文标题】:JSON encode/decode base64 encode/decode in JavaScript 【发布时间】:2011-01-12 03:19:04 【问题描述】:javascript 中有 JSON 编码/解码 base64 编码/解码功能吗?
【问题讨论】:
How to base64 encode inside of javascript 的可能副本。显然,搜索很困难。 ***.com/search?q=javascript+base64 看看:json.org/js.html 【参考方案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】:
JSON 和 base64 完全独立。
Here's a JSON stringifier/parser(和direct GitHub link)。
Here's a base64 Q&A。 Here's another one.
【讨论】:
【参考方案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 中添加,在以前的版本中不起作用。以上是关于JSON 编码/解码 JavaScript 中的 base64 编码/解码的主要内容,如果未能解决你的问题,请参考以下文章