Char массив для Int32 в Javascript - PullRequest
       3

Char массив для Int32 в Javascript

1 голос
/ 29 октября 2010

У меня есть массив символов "data" и Int32 "dictIdFrame".Я хотел бы, чтобы dictIdFrame принимает значение в ASCII (0-255) данных [i, ..., i + 3], я имею в виду, что четыре байта становятся одним целым int32, где данные [i] являются менее значимыми[i + 3] является наиболее значимым в этом int32.Я действительно не знаю, как это сделать ...

var data = "asdfasdfasdfasdf";

for (var i=1; i<data.length; i++) 
{
    var dictIdFrame = // Here statement taking data[i],data[i+1],data[i+2],data[i+3]
}

Если возможно, в одной инструкции.СПАСИБО ЗА ВАШУ ПОМОЩЬ !!

1 Ответ

2 голосов
/ 29 октября 2010
// assume in group of 4:
for (var i = 0; i < data.length; i += 4) {
   var a = data.charCodeAt(i);
   var b = data.charCodeAt(i+1);
   var c = data.charCodeAt(i+2);
   var d = data.charCodeAt(i+3);
   var dictIdFrame = a | b << 8 | c << 16 | d << 24;
}

(Обратите внимание, однако, что строка в Javascript содержит символы UTF-16, а не байты ASCII. Следовательно, возможно, что .charCodeAt вернет число ≥ 256.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...