source: [view]
var n = input.length, r = [], b = [0, 0, 0, 0, 0], i, j, t, x, y, d;
for(i = 0; i < n; ++i){
if(input.charAt(i) == "z"){
r.push(0, 0, 0, 0);
continue;
}
for(j = 0; j < 5; ++j){ b[j] = input.charCodeAt(i + j) - 33; }
d = n - i;
if(d < 5){
for(j = d; j < 4; b[++j] = 0);
b[d] = 85;
}
t = (((b[0] * 85 + b[1]) * 85 + b[2]) * 85 + b[3]) * 85 + b[4];
x = t & 255;
t >>>= 8;
y = t & 255;
t >>>= 8;
r.push(t >>> 8, t & 255, y, x);
for(j = d; j < 5; ++j, r.pop());
i += 4;
}
return r;