У меня есть массив из 64 элементов JavaScript, который я использую в качестве битовой маски. К сожалению, я столкнулся с проблемой при преобразовании строки в двоичный файл и обратно. Это сработало для некоторых других массивов, но что здесь происходит?
var a = [1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 0, 1, 1, 1, 1,
1, 1, 0, 0, 1, 1, 1, 1,
1, 1, 0, 0, 0, 0, 1, 1,
1, 1, 0, 0, 0, 0, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1];
var str1 = a.join('');
//-> '1111111111111111110011111100111111000011110000111111111111111111'
var str2 = parseInt(str1, 2).toString(2);
//-> '1111111111111111110011111100111111000011110001000000000000000000'
str1 === str2 //-> false
Я бы ожидал, что str2
будет таким же, как str1
, что не так.