Slide 28
Slide 28 text
Base64 to UTF-16
function
compress(s)
{
var
i,
l,
out='',
map={A:0,
B:1,
C:2,
...
"+":62,
"/":63};
var
bits
=
16,
chr
=
0,
rem
=
0;
for
(i
=
0,
l
=
s.length;
i
<
l;
i++)
{
if
(bits
>
6)
{
bits
-‐=
6;
chr
+=
map[i]
<<
bits;
}
else
{
rem
=
6
-‐
bits;
chr
+=
map[i]
>>
rem;
out
+=
String.fromCharCode(chr);
chr
=
(map[i]
%
rem)
<<
(16-‐rem);
bits
=
16
–
rem;
}
}
return
out;
}