JavaScript base64_encode 函数


JavaScript #base64 #函数2012-04-17 00:31

使用MIME Base64算法编码字符串

01function base64_encode (data) {
02     
03    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
04    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
05        ac = 0,
06        enc = "",
07        tmp_arr = [];
08 
09    if (!data) {
10        return data;
11    }
12 
13    do { // pack three octets into four hexets
14        o1 = data.charCodeAt(i++);
15        o2 = data.charCodeAt(i++);
16        o3 = data.charCodeAt(i++);
17 
18        bits = o1 << 16 | o2 << 8 | o3;
19 
20        h1 = bits >> 18 & 0x3f;
21        h2 = bits >> 12 & 0x3f;
22        h3 = bits >> 6 & 0x3f;
23        h4 = bits & 0x3f;
24 
25        // use hexets to index into b64, and append result to encoded string
26        tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
27    } while (i < data.length);
28 
29    enc = tmp_arr.join('');
30     
31    var r = data.length % 3;
32     
33    return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3);
34 
35}

用法

1base64_encode('yige.org');
返回值

1eWlnZS5vcmc=


相关文章

粤ICP备11097351号-1