我有一个 char 数组“data”和一个 Int32“dictIdFrame”。我希望 dictIdFrame 采用 data[i,...,i+3] 的 ASCII (0-255) 值,我的意思是四个字节变成一个 int32,其中 data[i] 是不太重要的,而 data [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]
}
如果可能的话,在一条指令中。感谢您的帮助!!
// 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 的数字。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)