Mercurial > web-gnusto
view base64.js @ 53:0abb2dbc2dd1
Renamed trivial-zui.js to web-zui.js, since it's not really trivial anymore.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Fri, 16 May 2008 10:07:38 -0700 |
parents | 174a19e03273 |
children | 5c35e18a9d1a |
line wrap: on
line source
/* Taken from: * * http://ecmanaut.blogspot.com/2007/11/javascript-base64-singleton.html * * With minor modifications to decode a b64 string to a byte array instead * of a string. */ var base64_tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; function decode_base64(data) { var out = [], c1, c2, c3, e1, e2, e3, e4; for (var i = 0; i < data.length; ) { e1 = base64_tab.indexOf(data.charAt(i++)); e2 = base64_tab.indexOf(data.charAt(i++)); e3 = base64_tab.indexOf(data.charAt(i++)); e4 = base64_tab.indexOf(data.charAt(i++)); c1 = (e1 << 2) + (e2 >> 4); c2 = ((e2 & 15) << 4) + (e3 >> 2); c3 = ((e3 & 3) << 6) + e4; out.push(c1); if (e3 != 64) out.push(c2); if (e4 != 64) out.push(c3); } return out; }