/ / Konwertuj ulong na 8-bajtową tablicę w javascript - javascript, byte

Konwertuj ulong na 8-bajtową tablicę w javascript - javascript, byte

Mam unsigned long w javascript, który próbuję przekonwertować na tablicę bajtów (8 bajtów oczywiście przez długi czas). Oto, co mam do tej pory:

var deviceId = parseFloat("353268001238563");
var bytes = new Array(7);
for(var k=0;k<8;k++) {
bytes[k] = value & (255);
value = value >> 8
}
return bytes;

Niestety wygenerowane bajty są niepoprawne. Masz pojęcie, co robię źle?

Odpowiedzi:

2 dla odpowiedzi № 1

The >> operator nie wydaje się działać z wartościami, które nie mogą być reprezentowane w zwykłej 32-bitowej liczbie całkowitej ze znakiem, ponieważ będzie ona zawijana.

Rozwiązaniem typu hack może być użycie zwykłego podziału zamiast przesunięcia bitowego:

value = value / 256;