Naja die gesamte "Funktion" schaut so aus:
PHP Code:
for (var ap = 0; ap < an; ap++) {
ax[ap] = (av.charCodeAt(ap * 4) & 255) + ((av.charCodeAt(ap * 4 + 1) & 255) << 8) + ((av.charCodeAt(ap * 4 + 2) & 255) << 16) + ((av.charCodeAt(ap * 4 + 3) & 255) << 24);
}
Ich wusste halt nicht was die & 255 und << 8 bzw. 16 und 24 auf sich hatten. Und habe soeben erst rausgefunden, dass wenn ich einfach den jeweiligen charCode(index) mit 256 multipliziere, aufs selbe Ergebnisse komme.
PHP Code:
a= 97
97 << 8
//Ergebnis: 24.832
b = 98
98 << 8
//Ergebnis: 25.008
Die selben Ergebnisse bekomme ich wie gesagt auch, wenn ich einfach 97 * 256 bzw 98 * 256 rechne.
Bei << 16 wäre es dann:
PHP Code:
a = 97
97 << 16
//Ergebnis: 6.356.992
b = 98
98 << 16
//Ergebnis: 6.422.528
Hier bekomme ich auch wieder die selben Ergebnisse, wenn ich einfach 97 * 65.536 bzw 98 * 65.536 rechne. Die Logik dahinter verstehe ich zwar immer noch nicht, aber wenns so funktioniert, dann lasse ich das einfach so..