抽时间做了一个简单的基于 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



共有2 条评论

  1. 1. 头像 购物博客

    感谢分享,

  2. 2. 头像 浏览器排行

    弱弱的看不懂…………

发表评论

(必填)

(必填,会为您保密)

评论仅支持“a、abbr、strong、em、blockquote、code”几个简单的标签