Конвертировать ByteArray в Integer во Flex - PullRequest
0 голосов
/ 10 марта 2011

Может кто-нибудь пролить свет на то, как преобразовать ByteArray в int?

Спасибо,

1 Ответ

1 голос
/ 11 марта 2011

Таким образом, чтобы получить представление о том, как это сделать, вы можете попробовать этот бит кода:

function test(){
    var bytes:ByteArray = new ByteArray();
    bytes.writeInt(0x00DDAA99);   //create my byte array with int 14527129
    bytes.position = 0;           //move the postion to the start
    var newInt:int = bytes.readInt();  //read the bytes from starting position
    trace("new num: "+newInt);    //print out the number
}

Этот код сначала создаст байтовый массив и поместит в него int.Это, вероятно, где вам нужен код для запуска.Тогда это делает предположение, что после начальной позиции, которую я установил в 0, есть 4 байта для чтения. Затем он считывает 4 байта из массива байтов в очередь.Обратите внимание, что если у вас нет 4 байтов в вашем ByteArray или ваша позиция не установлена ​​правильно, ваш код потерпит неудачу.Убедитесь, что вы добавили проверки для этих сценариев.

Этот код также предполагает, что байтовый массив имеет Big Endian.Убедитесь, что, если у вас есть байтовый массив из другой системы, вы знаете, какой порядковый номер имеет значение int.При необходимости измените порядковый номер байтового массива.

...