[niveau débutant]
Il existe plusieurs scripts sur le Net pour encoder/decoder en Base64 avec Javascript, mais c’est sur http://140byt.es/ que j’ai trouvé les plus courts, car ils font moins de 140 caractères !
Cependant, je les ai modifié légèrement pour qu’ils fonctionnent avec IE7 (et plus vieux) :
function b64_decode(d,b,c,u,r,q,x){b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(r=q=x='';c=d.charAt(x++);~c&&(u=q%4?u*64+c:c,q++%4)?r+=String.fromCharCode(255&u>>(-2*q&6)):0)c=b.indexOf(c);return r} function b64_encode(a,b,c,d,e,f){b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";c="=";for(d=f='';e&=3,a.charAt(d++)||(b='=',e);f+=b.charAt(63&c>>++e*2))c=c<<8|a.charCodeAt(d-=!e);return f}
Soit un total de 436 bytes pour les deux fonctions.
Pour l'utiliser :
alert(decode_b64(encode_b64("foobar")));
A noter qu'il existe aussi window.btoa() qui fait pareil, mais qui n'est disponible qu'à partir de IE10.