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

  1. 1. 头像 购物博客

    感谢分享,

  2. 2. 头像 浏览器排行

    弱弱的看不懂…………

  3. 3. 头像 what stores sell ugg boots

    Base64 好用。。。谢谢了。

  4. 4. 头像 jsof

    ckQAe3febUTkXWR3dXAQ

    这个似乎de base64不行哦。

  5. 5. 头像 jsof

    Y929K%2BxpGJfpYfZEbnU%3D
    这个总么也不行呢?

  6. 6. 头像 怿飞

    @jsof 暂时只支持ASCII码字符

发表评论

(必填)

(必填,会为您保密)

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