抽时间做了一个简单的基于 JavaScript 的在线 Base64 编/解码小工具:
http://www.planabc.net/lab/tools/base64.html
原理详见上篇文章:《JavaScript 中的 Base64 编码(一):Encoding 》
注:对于下面的代码:
TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz
IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu
dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo
ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=
各浏览器原生的解码方法处理不太一致,Opera 比较智能能够处理此情形,但 Firefox、Safari 和 Chrome 却无法处理。
出现上面代码的原因为:规则约定 Base64 编码过程每76个字符加一个换行符。
Firefox、Safari 和 Chrome 下的修复非常简单(对输入的字符去除换行符等):
text = text.replace(/\s*/g, ''); //Fix Firefox/Safari/Chrom bug: MultiLine
如有 BUG 欢迎随时联系:blankzheng#gmail.com


共有6 条评论
感谢分享,
弱弱的看不懂…………
Base64 好用。。。谢谢了。
ckQAe3febUTkXWR3dXAQ
这个似乎de base64不行哦。
Y929K%2BxpGJfpYfZEbnU%3D
这个总么也不行呢?
@jsof 暂时只支持ASCII码字符