jQuery插件收藏 – Base64

在客户端进行Base64编码对于数据传送非常有利,比如在HTML中的表单的密码框的数据默认就是使用Base64编码传送的。不过想要自己实现把客户端的数据进行base64进行传送,就需要自己手动转换了。不过在jQuery里,有一款叫Base64的插件,实现了客户端的Base64的编码,下载地址:http://plugins.jquery.com/base64/

jQuery Base64

这个插件代码不多,实际也不复杂。用法参考下载包中的例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

var dec = $('#decode'),
enc = $('#encode');

// you can set utf8 encoding and decoding via global option
// possible options:
// `utf8encode` - utf8 encoding only (default: `false`)
// `utf8decode` - utf8 decoding only (default: `false`)
// `raw` - both (default: `true`)
$.base64.utf8encode = true;

enc.keyup(function () {
dec.val($.base64.btoa(this.value));
// also possible:
// dec.val( $.base64('encode', this.value) );
// dec.val( $.base64.encode(this.value) );
});

dec.keyup(function () {
// note: you can pass a third parameter to use the utf8 en- / decode option
enc.val($.base64.atob(this.value, true));
// also possible:
// dec.val( $.base64('decode', this.value) );
// dec.val( $.base64.decode(this.value) );
});

$.base64.utf8encode默认是false,可以设置它对utf8进行编码,JS使用的是utf8编码,所以可能需要修改。(对应的有$.base64.utf8decode)。

之后可以直接使用$.base64.btoa()进行编码,使用$.base64.atob()进行解码。这两个名字比较TMD不直观,实际上它们对应$.base64.encode()和$.base64.decode(),直接使用这两个函数即可。这两个函数的第二参数直接是否使用utf8编码,如果使用了全局设置,这个参数可以忽略。

最后,还有超级函数,就叫$.base64(),它有三个参数,第二第三参数跟上面的函数一样,第一个参数指定是编码还是解码(encode 或 decode)。

一般直接使用$.base64.encode()和$.base64.decode()就可以了(记得第二参数直接编码)。

坚持原创技术分享,您的支持将鼓励我继续创作!