Попросили помощи в одном интересном вопросе. Сам не достаточно компетентен в данном вопросе, т.е. тоже интересно.
С сокет-сервера получаем данные (Endian.LITTLE_ENDIAN).
Среди массива данных имеется
что соответствует числу
9578088909
Вот инвертнутый массив (в формате BIG_ENDIAN):
который получаем при использовании метода
Код AS3:
public function readUnsignedLong():Number
{
//TODO error check length
return ((readUnsignedByte() & 255) << 56) +
((readUnsignedByte() & 255) << 48) +
((readUnsignedByte() & 255) << 40) +
((readUnsignedByte() & 255) << 32) +
((readUnsignedByte() & 255) << 24) +
((readUnsignedByte() & 255) << 16) +
((readUnsignedByte() & 255) << 8) +
((readUnsignedByte() & 255) << 0);
}
В результате имеем
988154319
988154319 != 9578088909
В чем косяк? Спасибо за помощь.