3
* Copyright 2011, Moxiecode Systems AB
4
* Released under GPL License.
6
* License: http://www.plupload.com/license
7
* Contributing: http://www.plupload.com/contributing
11
import flash.utils.ByteArray;
12
import flash.utils.Endian;
14
public class BinaryReader extends ByteArray {
16
public function init(binData:ByteArray):void {
18
endian = Endian.BIG_ENDIAN;
22
public function II(... args):* {
24
return endian == Endian.LITTLE_ENDIAN ? true : false;
26
endian = args[0] == true ? Endian.LITTLE_ENDIAN : Endian.BIG_ENDIAN;
29
public function SEGMENT(... args):ByteArray {
30
var seg:ByteArray = new ByteArray();
32
switch (args.length) {
41
readBytes(seg, 0, args[1]);
45
position = args[0] + args[1];
54
readBytes(seg, 0, length);
60
public function BYTE(idx:int):uint {
62
return readUnsignedByte();
65
public function SHORT(idx:int):uint {
67
return readUnsignedShort();
70
public function LONG(idx:int, ... args):* {
73
return readUnsignedInt();
75
writeUnsignedInt(args[0]);
78
public function SLONG(idx:uint):int {
83
public function STRING(idx:uint, size:uint):String {
85
return readUTFBytes(size);