function str2bytes(str){
var arr=[], bytesPerSymbol=4;
for (var i=0;i<str.length;i++){
var chCode = str.charCodeAt(i);
var temp=chCode;
for(var j=0; j<bytesPerSymbol;j++){
var oneByte = Math.floor(temp/Math.pow(255,bytesPerSymbol-j-1));
arr.push(oneByte);
temp = temp-oneByte*Math.pow(255,bytesPerSymbol-j-1);
}
}
return arr;
}
function bytes2str(arr){
var bytesPerSymbol=4, str="";
for (var i=0; i<arr.length; i+=bytesPerSymbol){
var chCode=0;
for (var j=0;j<bytesPerSymbol;j++){
chCode+=arr.slice(i,i+bytesPerSymbol)[j]*Math.pow(255,bytesPerSymbol-j-1);
}
str+=String.fromCharCode(chCode);
}
return str;
}
document.write(str2bytes("Привет!"));
document.write("<br />"+ bytes2str(str2bytes("Привет!")));
Что-то типа того. Такой массив я раскодировать смогу, потому что знаю, что каждые bytesPerSymbol его элементов = 1 символ