Adobe® AIR® API Reference for HTML Developers
Home  |  Show Classes List |  Index  |  Appendixes

Language Reference only       
ByteArray 
3D:
Context3D
Context3DBlendFactor
Context3DClearMask
Context3DCompareMode
Context3DProgramType
Context3DRenderMode
Context3DStencilAction
Context3DTextureFormat
Context3DTriangleFace
Context3DVertexBufferFormat
CubeTexture
IndexBuffer3D
Program3D
Stage3D
Texture
VertexBuffer3D
Air.net:
ServiceMonitor
SocketMonitor
URLMonitor
Air.update:
ApplicationUpdater
ApplicationUpdaterUI
DownloadErrorEvent
StatusFileUpdateErrorEvent
StatusFileUpdateEvent
StatusUpdateErrorEvent
StatusUpdateEvent
UpdateEvent
Data:
EncryptedLocalStore
SQLCollationType
SQLColumnNameStyle
SQLColumnSchema
SQLConnection
SQLError
SQLErrorEvent
SQLErrorOperation
SQLEvent
SQLIndexSchema
SQLMode
SQLResult
SQLSchema
SQLSchemaResult
SQLStatement
SQLTableSchema
SQLTransactionLockType
SQLTriggerSchema
SQLUpdateEvent
SQLViewSchema
Desktop:
Clipboard
ClipboardFormats
ClipboardTransferMode
DockIcon
Icon
InteractiveIcon
NativeApplication
NativeProcess
NativeProcessStartupInfo
NotificationType
SystemTrayIcon
Display:
BitmapData
NativeMenu
NativeMenuItem
Screen
Stage
StageDisplayState
StageQuality
Events:
ActivityEvent
AsyncErrorEvent
BrowserInvokeEvent
DataEvent
DatagramSocketDataEvent
DNSResolverEvent
DRMAuthenticateEvent
DRMStatusEvent
ErrorEvent
Event
EventDispatcher
FileListEvent
HTTPStatusEvent
InvokeEvent
InvokeEventReason
IOErrorEvent
LocationChangeEvent
MouseEvent
NativeProcessExitEvent
NetDataEvent
NetMonitorEvent
NetStatusEvent
OutputProgressEvent
ProgressEvent
SampleDataEvent
SecurityErrorEvent
ServerSocketConnectEvent
StatusEvent
StorageVolumeChangeEvent
TimerEvent
UncaughtErrorEvent
UncaughtErrorEvents
File:
File
FileMode
FileStream
StorageVolume
StorageVolumeInfo
Functions:
trace()
generateRandomBytes()
navigateToURL()
sendToURL()
Geom:
Matrix
Point
Rectangle
Media:
AudioDecoder
AudioPlaybackMode
H264Level
H264Profile
H264VideoStreamSettings
ID3Info
InputMediaStream
Microphone
MicrophoneEnhancedMode
MicrophoneEnhancedOptions
Sound
SoundChannel
SoundCodec
SoundLoaderContext
SoundMixer
SoundTransform
VideoCodec
VideoStatus
VideoStreamSettings
Native window:
NativeWindow
NativeWindowBoundsEvent
NativeWindowDisplayState
NativeWindowDisplayStateEvent
NativeWindowInitOptions
NativeWindowRenderMode
NativeWindowResize
NativeWindowSystemChrome
NativeWindowType
Net:
AAAARecord
ARecord
CertificateStatus
DatagramSocket
DNSResolver
FileFilter
InterfaceAddress
IPVersion
LocalConnection
MXRecord
NetConnection
NetMonitor
NetStreamAppendBytesAction
NetStreamMulticastInfo
NetworkInfo
NetworkInterface
ObjectEncoding
PTRRecord
ResourceRecord
Responder
SecureSocket
ServerSocket
SharedObject
SharedObjectFlushStatus
Socket
SRVRecord
URLLoader
URLLoaderDataFormat
URLRequest
URLRequestDefaults
URLRequestHeader
URLRequestMethod
URLStream
URLVariables
XMLSocket
Security:
ReferencesValidationSetting
RevocationCheckSettings
SignatureStatus
SignerTrustSettings
X500DistinguishedName
X509Certificate
XMLSignatureValidator
System:
Capabilities
Security
System
Updater
Ui:
Keyboard
KeyboardType
KeyLocation
Mouse
MouseCursorData
Utils:
Vector
ByteArray
Collator
CollatorMode
CompressionAlgorithm
CurrencyFormatter
CurrencyParseResult
DateTimeFormatter
DateTimeNameContext
DateTimeNameStyle
DateTimeStyle
Endian
HTMLLoader
HTMLPDFCapability
LastOperationStatus
LocaleID
NationalDigitsType
NumberFormatter
NumberParseResult
StringTools
Timer
window.runtime propertywindow.runtime.flash.utils.ByteArray
InheritanceByteArray Inheritance Object

Runtime Versions: AIR 1.0,

The ByteArray class provides methods and properties to optimize reading, writing, and working with binary data.

Note: The ByteArray class is for advanced developers who need to access data on the byte level.

In-memory data is a packed array (the most compact representation for the data type) of bytes, but an instance of the ByteArray class can be manipulated with the standard [] (array access) operators. It also can be read and written to as an in-memory file, using methods similar to those in the URLStream and Socket classes.

In addition, zlib compression and decompression are supported, as well as Action Message Format (AMF) object serialization.

Possible uses of the ByteArray class include the following:

  • Creating a custom protocol to connect to a server.
  • Writing your own URLEncoder/URLDecoder.
  • Optimizing the size of your data by using data types.
  • Working with binary data loaded from a file in Adobe® AIR®.

View the examples

See also



Properties
 PropertyDefined By
  bytesAvailable : uint
[read-only] The number of bytes of data available for reading from the current position in the byte array to the end of the array.
ByteArray
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  defaultObjectEncoding : uint
[static] Denotes the default object encoding for the ByteArray class to use for a new ByteArray instance.
ByteArray
  endian : String
Changes or reads the byte order for the data; either Endian.BIG_ENDIAN or Endian.LITTLE_ENDIAN.
ByteArray
  length : uint
The length of the ByteArray object, in bytes.
ByteArray
  objectEncoding : uint
Used to determine whether the ActionScript 3.0, ActionScript 2.0, or ActionScript 1.0 format should be used when writing to, or reading from, a ByteArray instance.
ByteArray
  position : uint
Moves, or returns the current position, in bytes, of the file pointer into the ByteArray object.
ByteArray
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
Public Methods
 MethodDefined By
  
Creates a ByteArray instance representing a packed array of bytes, so that you can use the methods and properties in this class to optimize your data storage and stream.
ByteArray
  
Creates a ByteArray instance representing a packed array of bytes, so that you can use the methods and properties in this class to optimize your data storage and stream.
ByteArray
  
clear():void
Clears the contents of the byte array and resets the length and position properties to 0.
ByteArray
  
clear():void
Clears the contents of the byte array and resets the length and position properties to 0.
ByteArray
  
compress(algorithm:String):void
Compresses the byte array.
ByteArray
  
compress(algorithm:String):void
Compresses the byte array.
ByteArray
  
deflate():void
Compresses the byte array using the deflate compression algorithm.
ByteArray
  
deflate():void
Compresses the byte array using the deflate compression algorithm.
ByteArray
 Inherited
hasOwnProperty(name:String):Boolean
Indicates whether an object has a specified property defined.
Object
  
inflate():void
Decompresses the byte array using the deflate compression algorithm.
ByteArray
  
inflate():void
Decompresses the byte array using the deflate compression algorithm.
ByteArray
 Inherited
isPrototypeOf(theClass:Object):Boolean
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
propertyIsEnumerable(name:String):Boolean
Indicates whether the specified property exists and is enumerable.
Object
  
readBoolean():Boolean
Reads a Boolean value from the byte stream.
ByteArray
  
readBoolean():Boolean
Reads a Boolean value from the byte stream.
ByteArray
  
readByte():int
Reads a signed byte from the byte stream.
ByteArray
  
readByte():int
Reads a signed byte from the byte stream.
ByteArray
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Reads the number of data bytes, specified by the length parameter, from the byte stream.
ByteArray
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Reads the number of data bytes, specified by the length parameter, from the byte stream.
ByteArray
  
readDouble():Number
Reads an IEEE 754 double-precision (64-bit) floating-point number from the byte stream.
ByteArray
  
readDouble():Number
Reads an IEEE 754 double-precision (64-bit) floating-point number from the byte stream.
ByteArray
  
readFloat():Number
Reads an IEEE 754 single-precision (32-bit) floating-point number from the byte stream.
ByteArray
  
readFloat():Number
Reads an IEEE 754 single-precision (32-bit) floating-point number from the byte stream.
ByteArray
  
readInt():int
Reads a signed 32-bit integer from the byte stream.
ByteArray
  
readInt():int
Reads a signed 32-bit integer from the byte stream.
ByteArray
  
readMultiByte(length:uint, charSet:String):String
Reads a multibyte string of specified length from the byte stream using the specified character set.
ByteArray
  
readMultiByte(length:uint, charSet:String):String
Reads a multibyte string of specified length from the byte stream using the specified character set.
ByteArray
  
Reads an object from the byte array, encoded in AMF serialized format.
ByteArray
  
Reads an object from the byte array, encoded in AMF serialized format.
ByteArray
  
readShort():int
Reads a signed 16-bit integer from the byte stream.
ByteArray
  
readShort():int
Reads a signed 16-bit integer from the byte stream.
ByteArray
  
Reads an unsigned byte from the byte stream.
ByteArray
  
Reads an unsigned byte from the byte stream.
ByteArray
  
Reads an unsigned 32-bit integer from the byte stream.
ByteArray
  
Reads an unsigned 32-bit integer from the byte stream.
ByteArray
  
Reads an unsigned 16-bit integer from the byte stream.
ByteArray
  
Reads an unsigned 16-bit integer from the byte stream.
ByteArray
  
readUTF():String
Reads a UTF-8 string from the byte stream.
ByteArray
  
readUTF():String
Reads a UTF-8 string from the byte stream.
ByteArray
  
readUTFBytes(length:uint):String
Reads a sequence of UTF-8 bytes specified by the length parameter from the byte stream and returns a string.
ByteArray
  
readUTFBytes(length:uint):String
Reads a sequence of UTF-8 bytes specified by the length parameter from the byte stream and returns a string.
ByteArray
 Inherited
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
Sets the availability of a dynamic property for loop operations.
Object
  
toJSON(k:String):*
Provides an overridable method for customizing the JSON encoding of values in an ByteArray object.
ByteArray
 Inherited
toLocaleString():String
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
  
toString():String
Converts the byte array to a string.
ByteArray
  
toString():String
Converts the byte array to a string.
ByteArray
  
uncompress(algorithm:String):void
Decompresses the byte array.
ByteArray
  
uncompress(algorithm:String):void
Decompresses the byte array.
ByteArray
 Inherited
valueOf():Object
Returns the primitive value of the specified object.
Object
  
writeBoolean(value:Boolean):void
Writes a Boolean value.
ByteArray
  
writeBoolean(value:Boolean):void
Writes a Boolean value.
ByteArray
  
writeByte(value:int):void
Writes a byte to the byte stream.
ByteArray
  
writeByte(value:int):void
Writes a byte to the byte stream.
ByteArray
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Writes a sequence of length bytes from the specified byte array, bytes, starting offset(zero-based index) bytes into the byte stream.
ByteArray
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Writes a sequence of length bytes from the specified byte array, bytes, starting offset(zero-based index) bytes into the byte stream.
ByteArray
  
writeDouble(value:Number):void
Writes an IEEE 754 double-precision (64-bit) floating-point number to the byte stream.
ByteArray
  
writeDouble(value:Number):void
Writes an IEEE 754 double-precision (64-bit) floating-point number to the byte stream.
ByteArray
  
writeFloat(value:Number):void
Writes an IEEE 754 single-precision (32-bit) floating-point number to the byte stream.
ByteArray
  
writeFloat(value:Number):void
Writes an IEEE 754 single-precision (32-bit) floating-point number to the byte stream.
ByteArray
  
writeInt(value:int):void
Writes a 32-bit signed integer to the byte stream.
ByteArray
  
writeInt(value:int):void
Writes a 32-bit signed integer to the byte stream.
ByteArray
  
writeMultiByte(value:String, charSet:String):void
Writes a multibyte string to the byte stream using the specified character set.
ByteArray
  
writeMultiByte(value:String, charSet:String):void
Writes a multibyte string to the byte stream using the specified character set.
ByteArray
  
writeObject(object:*):void
Writes an object into the byte array in AMF serialized format.
ByteArray
  
writeObject(object:*):void
Writes an object into the byte array in AMF serialized format.
ByteArray
  
writeShort(value:int):void
Writes a 16-bit integer to the byte stream.
ByteArray
  
writeShort(value:int):void
Writes a 16-bit integer to the byte stream.
ByteArray
  
writeUnsignedInt(value:uint):void
Writes a 32-bit unsigned integer to the byte stream.
ByteArray
  
writeUnsignedInt(value:uint):void
Writes a 32-bit unsigned integer to the byte stream.
ByteArray
  
writeUTF(value:String):void
Writes a UTF-8 string to the byte stream.
ByteArray
  
writeUTF(value:String):void
Writes a UTF-8 string to the byte stream.
ByteArray
  
writeUTFBytes(value:String):void
Writes a UTF-8 string to the byte stream.
ByteArray
  
writeUTFBytes(value:String):void
Writes a UTF-8 string to the byte stream.
ByteArray
Property Detail

bytesAvailable

property
bytesAvailable:uint  [read-only]

Runtime Versions: AIR 1.0,

The number of bytes of data available for reading from the current position in the byte array to the end of the array.

Use the bytesAvailable property in conjunction with the read methods each time you access a ByteArray object to ensure that you are reading valid data.

defaultObjectEncoding

property 
public static var defaultObjectEncoding:uint

Runtime Versions: AIR 1.0,

Denotes the default object encoding for the ByteArray class to use for a new ByteArray instance. When you create a new ByteArray instance, the encoding on that instance starts with the value of defaultObjectEncoding. The defaultObjectEncoding property is initialized to ObjectEncoding.AMF3.

When an object is written to or read from binary data, the objectEncoding value is used to determine whether the ActionScript 3.0, ActionScript2.0, or ActionScript 1.0 format should be used. The value is a constant from the ObjectEncoding class.

See also

endian

property 
public var endian:String

Runtime Versions: AIR 1.0,

Changes or reads the byte order for the data; either Endian.BIG_ENDIAN or Endian.LITTLE_ENDIAN.

See also

length

property 
public var length:uint

Runtime Versions: AIR 1.0,

The length of the ByteArray object, in bytes.

If the length is set to a value that is larger than the current length, the right side of the byte array is filled with zeros.

If the length is set to a value that is smaller than the current length, the byte array is truncated.

objectEncoding

property 
public var objectEncoding:uint

Runtime Versions: AIR 1.0,

Used to determine whether the ActionScript 3.0, ActionScript 2.0, or ActionScript 1.0 format should be used when writing to, or reading from, a ByteArray instance. The value is a constant from the ObjectEncoding class.

See also

position

property 
public var position:uint

Runtime Versions: AIR 1.0,

Moves, or returns the current position, in bytes, of the file pointer into the ByteArray object. This is the point at which the next call to a read method starts reading or a write method starts writing.

Constructor Detail

ByteArray

()Constructor
public function ByteArray()

Runtime Versions: AIR 1.0,

Creates a ByteArray instance representing a packed array of bytes, so that you can use the methods and properties in this class to optimize your data storage and stream.

ByteArray

()Constructor 
public function ByteArray()

Runtime Versions: AIR 1.0,

Creates a ByteArray instance representing a packed array of bytes, so that you can use the methods and properties in this class to optimize your data storage and stream.

Method Detail

clear

()method
public function clear():void

Runtime Versions:  1.5

Clears the contents of the byte array and resets the length and position properties to 0. Calling this method explicitly frees up the memory used by the ByteArray instance.

clear

()method 
public function clear():void

Runtime Versions:  1.5

Clears the contents of the byte array and resets the length and position properties to 0. Calling this method explicitly frees up the memory used by the ByteArray instance.

compress

()method 
public function compress(algorithm:String):void

Runtime Versions: AIR 1.0,

Compresses the byte array. The entire byte array is compressed. For content running in Adobe AIR, you can specify a compression algorithm by passing a value (defined in the CompressionAlgorithm class) as the algorithm parameter.

After the call, the length property of the ByteArray is set to the new length. The position property is set to the end of the byte array.

The zlib compressed data format is described at http://www.ietf.org/rfc/rfc1950.txt.

The deflate compression algorithm is described at http://www.ietf.org/rfc/rfc1951.txt.

The deflate compression algorithm is used in several compression formats, such as zlib, gzip, some zip implementations, and others. When data is compressed using one of those compression formats, in addition to storing the compressed version of the original data, the compression format data (for example, the .zip file) includes metadata information. Some examples of the types of metadata included in various file formats are file name, file modification date/time, original file size, optional comments, checksum data, and more.

For example, when a ByteArray is compressed using the zlib algorithm, the resulting ByteArray is structured in a specific format. Certain bytes contain metadata about the compressed data, while other bytes contain the actual compressed version of the original ByteArray data. As defined by the zlib compressed data format specification, those bytes (that is, the portion containing the compressed version of the original data) are compressed using the deflate algorithm. Consequently those bytes are identical to the result of calling compress(air.CompressionAlgorithm.DEFLATE) on the original ByteArray. However, the result from compress(air.CompressionAlgorithm.ZLIB) includes the extra metadata, while the compress(air.CompressionAlgorithm.DEFLATE) result includes only the compressed version of the original ByteArray data and nothing else.

In order to use the deflate format to compress a ByteArray instance's data in a specific format such as gzip or zip, you cannot simply call compress(air.CompressionAlgorithm.DEFLATE). You must create a ByteArray structured according to the compression format's specification, including the appropriate metadata as well as the compressed data obtained using the deflate format. Likewise, in order to decode data compressed in a format such as gzip or zip, you can't simply call uncompress(air.CompressionAlgorithm.DEFLATE) on that data. First, you must separate the metadata from the compressed data, and you can then use the deflate format to decompress the compressed data.

Parameters

algorithm:String (default = NaN) — The compression algorithm to use when compressing. Valid values are defined as constants in the CompressionAlgorithm class. The default is to use zlib format. Calling compress(air.CompressionAlgorithm.DEFLATE) has the same effect as calling the deflate() method.

See also

compress

()method 
public function compress(algorithm:String):void

Runtime Versions: AIR 1.0,

Compresses the byte array. The entire byte array is compressed. For content running in Adobe AIR, you can specify a compression algorithm by passing a value (defined in the CompressionAlgorithm class) as the algorithm parameter.

After the call, the length property of the ByteArray is set to the new length. The position property is set to the end of the byte array.

The zlib compressed data format is described at http://www.ietf.org/rfc/rfc1950.txt.

The deflate compression algorithm is described at http://www.ietf.org/rfc/rfc1951.txt.

The deflate compression algorithm is used in several compression formats, such as zlib, gzip, some zip implementations, and others. When data is compressed using one of those compression formats, in addition to storing the compressed version of the original data, the compression format data (for example, the .zip file) includes metadata information. Some examples of the types of metadata included in various file formats are file name, file modification date/time, original file size, optional comments, checksum data, and more.

For example, when a ByteArray is compressed using the zlib algorithm, the resulting ByteArray is structured in a specific format. Certain bytes contain metadata about the compressed data, while other bytes contain the actual compressed version of the original ByteArray data. As defined by the zlib compressed data format specification, those bytes (that is, the portion containing the compressed version of the original data) are compressed using the deflate algorithm. Consequently those bytes are identical to the result of calling compress(air.CompressionAlgorithm.DEFLATE) on the original ByteArray. However, the result from compress(air.CompressionAlgorithm.ZLIB) includes the extra metadata, while the compress(air.CompressionAlgorithm.DEFLATE) result includes only the compressed version of the original ByteArray data and nothing else.

In order to use the deflate format to compress a ByteArray instance's data in a specific format such as gzip or zip, you cannot simply call compress(air.CompressionAlgorithm.DEFLATE). You must create a ByteArray structured according to the compression format's specification, including the appropriate metadata as well as the compressed data obtained using the deflate format. Likewise, in order to decode data compressed in a format such as gzip or zip, you can't simply call uncompress(air.CompressionAlgorithm.DEFLATE) on that data. First, you must separate the metadata from the compressed data, and you can then use the deflate format to decompress the compressed data.

Parameters

algorithm:String (default = NaN) — The compression algorithm to use when compressing. Valid values are defined as constants in the CompressionAlgorithm class. The default is to use zlib format. Calling compress(air.CompressionAlgorithm.DEFLATE) has the same effect as calling the deflate() method.

See also

deflate

()method 
public function deflate():void

Runtime Versions:  1.5

Compresses the byte array using the deflate compression algorithm. The entire byte array is compressed.

After the call, the length property of the ByteArray is set to the new length. The position property is set to the end of the byte array.

The deflate compression algorithm is described at http://www.ietf.org/rfc/rfc1951.txt.

In order to use the deflate format to compress a ByteArray instance's data in a specific format such as gzip or zip, you cannot simply call deflate(). You must create a ByteArray structured according to the compression format's specification, including the appropriate metadata as well as the compressed data obtained using the deflate format. Likewise, in order to decode data compressed in a format such as gzip or zip, you can't simply call inflate() on that data. First, you must separate the metadata from the compressed data, and you can then use the deflate format to decompress the compressed data.

See also

deflate

()method 
public function deflate():void

Runtime Versions:  1.5

Compresses the byte array using the deflate compression algorithm. The entire byte array is compressed.

After the call, the length property of the ByteArray is set to the new length. The position property is set to the end of the byte array.

The deflate compression algorithm is described at http://www.ietf.org/rfc/rfc1951.txt.

In order to use the deflate format to compress a ByteArray instance's data in a specific format such as gzip or zip, you cannot simply call deflate(). You must create a ByteArray structured according to the compression format's specification, including the appropriate metadata as well as the compressed data obtained using the deflate format. Likewise, in order to decode data compressed in a format such as gzip or zip, you can't simply call inflate() on that data. First, you must separate the metadata from the compressed data, and you can then use the deflate format to decompress the compressed data.

See also

inflate

()method 
public function inflate():void

Runtime Versions: AIR 1.0,

Decompresses the byte array using the deflate compression algorithm. The byte array must have been compressed using the same algorithm.

After the call, the length property of the ByteArray is set to the new length. The position property is set to 0.

The deflate compression algorithm is described at http://www.ietf.org/rfc/rfc1951.txt.

In order to decode data compressed in a format that uses the deflate compression algorithm, such as data in gzip or zip format, it will not work to simply call inflate() on a ByteArray containing the compression formation data. First, you must separate the metadata that is included as part of the compressed data format from the actual compressed data. For more information, see the compress() method description.


Throws
IOError — The data is not valid compressed data; it was not compressed with the same compression algorithm used to compress.

See also

inflate

()method 
public function inflate():void

Runtime Versions: AIR 1.0,

Decompresses the byte array using the deflate compression algorithm. The byte array must have been compressed using the same algorithm.

After the call, the length property of the ByteArray is set to the new length. The position property is set to 0.

The deflate compression algorithm is described at http://www.ietf.org/rfc/rfc1951.txt.

In order to decode data compressed in a format that uses the deflate compression algorithm, such as data in gzip or zip format, it will not work to simply call inflate() on a ByteArray containing the compression formation data. First, you must separate the metadata that is included as part of the compressed data format from the actual compressed data. For more information, see the compress() method description.


Throws
IOError — The data is not valid compressed data; it was not compressed with the same compression algorithm used to compress.

See also

readBoolean

()method 
public function readBoolean():Boolean

Runtime Versions: AIR 1.0,

Reads a Boolean value from the byte stream. A single byte is read, and true is returned if the byte is nonzero, false otherwise.

Returns
Boolean — Returns true if the byte is nonzero, false otherwise.

Throws
EOFError — There is not sufficient data available to read.

readBoolean

()method 
public function readBoolean():Boolean

Runtime Versions: AIR 1.0,

Reads a Boolean value from the byte stream. A single byte is read, and true is returned if the byte is nonzero, false otherwise.

Returns
Boolean — Returns true if the byte is nonzero, false otherwise.

Throws
EOFError — There is not sufficient data available to read.

readByte

()method 
public function readByte():int

Runtime Versions: AIR 1.0,

Reads a signed byte from the byte stream.

The returned value is in the range -128 to 127.

Returns
int — An integer between -128 and 127.

Throws
EOFError — There is not sufficient data available to read.

readByte

()method 
public function readByte():int

Runtime Versions: AIR 1.0,

Reads a signed byte from the byte stream.

The returned value is in the range -128 to 127.

Returns
int — An integer between -128 and 127.

Throws
EOFError — There is not sufficient data available to read.

readBytes

()method 
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Runtime Versions: AIR 1.0,

Reads the number of data bytes, specified by the length parameter, from the byte stream. The bytes are read into the ByteArray object specified by the bytes parameter, and the bytes are written into the destination ByteArray starting at the position specified by offset.

Parameters

bytes:ByteArray — The ByteArray object to read data into.
 
offset:uint (default = 0) — The offset (position) in bytes at which the read data should be written.
 
length:uint (default = 0) — The number of bytes to read. The default value of 0 causes all available data to be read.


Throws
EOFError — There is not sufficient data available to read.
 
RangeError — The value of the supplied offset and length, combined, is greater than the maximum for a uint.

See also

readBytes

()method 
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Runtime Versions: AIR 1.0,

Reads the number of data bytes, specified by the length parameter, from the byte stream. The bytes are read into the ByteArray object specified by the bytes parameter, and the bytes are written into the destination ByteArray starting at the position specified by offset.

Parameters

bytes:ByteArray — The ByteArray object to read data into.
 
offset:uint (default = 0) — The offset (position) in bytes at which the read data should be written.
 
length:uint (default = 0) — The number of bytes to read. The default value of 0 causes all available data to be read.


Throws
EOFError — There is not sufficient data available to read.
 
RangeError — The value of the supplied offset and length, combined, is greater than the maximum for a uint.

See also

readDouble

()method 
public function readDouble():Number

Runtime Versions: AIR 1.0,

Reads an IEEE 754 double-precision (64-bit) floating-point number from the byte stream.

Returns
Number — A double-precision (64-bit) floating-point number.

Throws
EOFError — There is not sufficient data available to read.

readDouble

()method 
public function readDouble():Number

Runtime Versions: AIR 1.0,

Reads an IEEE 754 double-precision (64-bit) floating-point number from the byte stream.

Returns
Number — A double-precision (64-bit) floating-point number.

Throws
EOFError — There is not sufficient data available to read.

readFloat

()method 
public function readFloat():Number

Runtime Versions: AIR 1.0,

Reads an IEEE 754 single-precision (32-bit) floating-point number from the byte stream.

Returns
Number — A single-precision (32-bit) floating-point number.

Throws
EOFError — There is not sufficient data available to read.

readFloat

()method 
public function readFloat():Number

Runtime Versions: AIR 1.0,

Reads an IEEE 754 single-precision (32-bit) floating-point number from the byte stream.

Returns
Number — A single-precision (32-bit) floating-point number.

Throws
EOFError — There is not sufficient data available to read.

readInt

()method 
public function readInt():int

Runtime Versions: AIR 1.0,

Reads a signed 32-bit integer from the byte stream.

The returned value is in the range -2147483648 to 2147483647.

Returns
int — A 32-bit signed integer between -2147483648 and 2147483647.

Throws
EOFError — There is not sufficient data available to read.

readInt

()method 
public function readInt():int

Runtime Versions: AIR 1.0,

Reads a signed 32-bit integer from the byte stream.

The returned value is in the range -2147483648 to 2147483647.

Returns
int — A 32-bit signed integer between -2147483648 and 2147483647.

Throws
EOFError — There is not sufficient data available to read.

readMultiByte

()method 
public function readMultiByte(length:uint, charSet:String):String

Runtime Versions: AIR 1.0,

Reads a multibyte string of specified length from the byte stream using the specified character set.

Parameters

length:uint — The number of bytes from the byte stream to read.
 
charSet:String — The string denoting the character set to use to interpret the bytes. Possible character set strings include "shift-jis", "cn-gb", "iso-8859-1", and others. For a complete list, see Supported Character Sets.

Note: If the value for the charSet parameter is not recognized by the current system, the application uses the system's default code page as the character set. For example, a value for the charSet parameter, as in myTest.readMultiByte(22, "iso-8859-01") that uses 01 instead of 1 might work on your development system, but not on another system. On the other system, the application will use the system's default code page.

Returns
String — UTF-8 encoded string.

Throws
EOFError — There is not sufficient data available to read.

readMultiByte

()method 
public function readMultiByte(length:uint, charSet:String):String

Runtime Versions: AIR 1.0,

Reads a multibyte string of specified length from the byte stream using the specified character set.

Parameters

length:uint — The number of bytes from the byte stream to read.
 
charSet:String — The string denoting the character set to use to interpret the bytes. Possible character set strings include "shift-jis", "cn-gb", "iso-8859-1", and others. For a complete list, see Supported Character Sets.

Note: If the value for the charSet parameter is not recognized by the current system, the application uses the system's default code page as the character set. For example, a value for the charSet parameter, as in myTest.readMultiByte(22, "iso-8859-01") that uses 01 instead of 1 might work on your development system, but not on another system. On the other system, the application will use the system's default code page.

Returns
String — UTF-8 encoded string.

Throws
EOFError — There is not sufficient data available to read.

readObject

()method 
public function readObject():*

Runtime Versions: AIR 1.0,

Reads an object from the byte array, encoded in AMF serialized format.

Returns
* — The deserialized object.

Throws
EOFError — There is not sufficient data available to read.

readObject

()method 
public function readObject():*

Runtime Versions: AIR 1.0,

Reads an object from the byte array, encoded in AMF serialized format.

Returns
* — The deserialized object.

Throws
EOFError — There is not sufficient data available to read.

readShort

()method 
public function readShort():int

Runtime Versions: AIR 1.0,

Reads a signed 16-bit integer from the byte stream.

The returned value is in the range -32768 to 32767.

Returns
int — A 16-bit signed integer between -32768 and 32767.

Throws
EOFError — There is not sufficient data available to read.

readShort

()method 
public function readShort():int

Runtime Versions: AIR 1.0,

Reads a signed 16-bit integer from the byte stream.

The returned value is in the range -32768 to 32767.

Returns
int — A 16-bit signed integer between -32768 and 32767.

Throws
EOFError — There is not sufficient data available to read.

readUnsignedByte

()method 
public function readUnsignedByte():uint

Runtime Versions: AIR 1.0,

Reads an unsigned byte from the byte stream.

The returned value is in the range 0 to 255.

Returns
uint — A 32-bit unsigned integer between 0 and 255.

Throws
EOFError — There is not sufficient data available to read.

readUnsignedByte

()method 
public function readUnsignedByte():uint

Runtime Versions: AIR 1.0,

Reads an unsigned byte from the byte stream.

The returned value is in the range 0 to 255.

Returns
uint — A 32-bit unsigned integer between 0 and 255.

Throws
EOFError — There is not sufficient data available to read.

readUnsignedInt

()method 
public function readUnsignedInt():uint

Runtime Versions: AIR 1.0,

Reads an unsigned 32-bit integer from the byte stream.

The returned value is in the range 0 to 4294967295.

Returns
uint — A 32-bit unsigned integer between 0 and 4294967295.

Throws
EOFError — There is not sufficient data available to read.

readUnsignedInt

()method 
public function readUnsignedInt():uint

Runtime Versions: AIR 1.0,

Reads an unsigned 32-bit integer from the byte stream.

The returned value is in the range 0 to 4294967295.

Returns
uint — A 32-bit unsigned integer between 0 and 4294967295.

Throws
EOFError — There is not sufficient data available to read.

readUnsignedShort

()method 
public function readUnsignedShort():uint

Runtime Versions: AIR 1.0,

Reads an unsigned 16-bit integer from the byte stream.

The returned value is in the range 0 to 65535.

Returns
uint — A 16-bit unsigned integer between 0 and 65535.

Throws
EOFError — There is not sufficient data available to read.

readUnsignedShort

()method 
public function readUnsignedShort():uint

Runtime Versions: AIR 1.0,

Reads an unsigned 16-bit integer from the byte stream.

The returned value is in the range 0 to 65535.

Returns
uint — A 16-bit unsigned integer between 0 and 65535.

Throws
EOFError — There is not sufficient data available to read.

readUTF

()method 
public function readUTF():String

Runtime Versions: AIR 1.0,

Reads a UTF-8 string from the byte stream. The string is assumed to be prefixed with an unsigned short indicating the length in bytes.

Returns
String — UTF-8 encoded string.

Throws
EOFError — There is not sufficient data available to read.

readUTF

()method 
public function readUTF():String

Runtime Versions: AIR 1.0,

Reads a UTF-8 string from the byte stream. The string is assumed to be prefixed with an unsigned short indicating the length in bytes.

Returns
String — UTF-8 encoded string.

Throws
EOFError — There is not sufficient data available to read.

readUTFBytes

()method 
public function readUTFBytes(length:uint):String

Runtime Versions: AIR 1.0,

Reads a sequence of UTF-8 bytes specified by the length parameter from the byte stream and returns a string.

Parameters

length:uint — An unsigned short indicating the length of the UTF-8 bytes.

Returns
String — A string composed of the UTF-8 bytes of the specified length.

Throws
EOFError — There is not sufficient data available to read.

readUTFBytes

()method 
public function readUTFBytes(length:uint):String

Runtime Versions: AIR 1.0,

Reads a sequence of UTF-8 bytes specified by the length parameter from the byte stream and returns a string.

Parameters

length:uint — An unsigned short indicating the length of the UTF-8 bytes.

Returns
String — A string composed of the UTF-8 bytes of the specified length.

Throws
EOFError — There is not sufficient data available to read.

toJSON

()method 
public function toJSON(k:String):*

Runtime Versions:  3

Provides an overridable method for customizing the JSON encoding of values in an ByteArray object.

The JSON.stringify() method looks for a toJSON() method on each object that it traverses. If the toJSON() method is found, JSON.stringify() calls it for each value it encounters, passing in the key that is paired with the value.

ByteArray provides a default implementation of toJSON() that simply returns the name of the class. Because the content of any ByteArray requires interpretation, clients that wish to export ByteArray objects to JSON must provide their own implementation. You can do so by redefining the toJSON() method on the class prototype.

The toJSON() method can return a value of any type. If it returns an object, stringify() recurses into that object. If toJSON() returns a string, stringify() does not recurse and continues its traversal.

Parameters

k:String — The key of a key/value pair that JSON.stringify() has encountered in its traversal of this object

Returns
* — The class name string.

toString

()method 
public function toString():String

Runtime Versions: AIR 1.0,

Converts the byte array to a string. If the data in the array begins with a Unicode byte order mark, the application will honor that mark when converting to a string. If System.useCodePage is set to true, the application will treat the data in the array as being in the current system code page when converting.

Returns
String — The string representation of the byte array.

toString

()method 
public function toString():String

Runtime Versions: AIR 1.0,

Converts the byte array to a string. If the data in the array begins with a Unicode byte order mark, the application will honor that mark when converting to a string. If System.useCodePage is set to true, the application will treat the data in the array as being in the current system code page when converting.

Returns
String — The string representation of the byte array.

uncompress

()method 
public function uncompress(algorithm:String):void

Runtime Versions: AIR 1.0,

Decompresses the byte array. For content running in Adobe AIR, you can specify a compression algorithm by passing a value (defined in the CompressionAlgorithm class) as the algorithm parameter. The byte array must have been compressed using the same algorithm.

After the call, the length property of the ByteArray is set to the new length. The position property is set to 0.

The zlib compressed data format is described at http://www.ietf.org/rfc/rfc1950.txt.

The deflate compression algorithm is described at http://www.ietf.org/rfc/rfc1951.txt.

In order to decode data compressed in a format that uses the deflate compression algorithm, such as data in gzip or zip format, it will not work to call uncompress(CompressionAlgorithm.DEFLATE) on a ByteArray containing the compression formation data. First, you must separate the metadata that is included as part of the compressed data format from the actual compressed data. For more information, see the compress() method description.

Parameters

algorithm:String (default = NaN) — The compression algorithm to use when decompressing. This must be the same compression algorithm used to compress the data. Valid values are defined as constants in the CompressionAlgorithm class. The default is to use zlib format. This parameter is only recognized for content running in Adobe AIR.


Throws
IOError — The data is not valid compressed data; it was not compressed with the same compression algorithm used to compress.

See also

uncompress

()method 
public function uncompress(algorithm:String):void

Runtime Versions: AIR 1.0,

Decompresses the byte array. For content running in Adobe AIR, you can specify a compression algorithm by passing a value (defined in the CompressionAlgorithm class) as the algorithm parameter. The byte array must have been compressed using the same algorithm.

After the call, the length property of the ByteArray is set to the new length. The position property is set to 0.

The zlib compressed data format is described at http://www.ietf.org/rfc/rfc1950.txt.

The deflate compression algorithm is described at http://www.ietf.org/rfc/rfc1951.txt.

In order to decode data compressed in a format that uses the deflate compression algorithm, such as data in gzip or zip format, it will not work to call uncompress(CompressionAlgorithm.DEFLATE) on a ByteArray containing the compression formation data. First, you must separate the metadata that is included as part of the compressed data format from the actual compressed data. For more information, see the compress() method description.

Parameters

algorithm:String (default = NaN) — The compression algorithm to use when decompressing. This must be the same compression algorithm used to compress the data. Valid values are defined as constants in the CompressionAlgorithm class. The default is to use zlib format. This parameter is only recognized for content running in Adobe AIR.


Throws
IOError — The data is not valid compressed data; it was not compressed with the same compression algorithm used to compress.

See also

writeBoolean

()method 
public function writeBoolean(value:Boolean):void

Runtime Versions: AIR 1.0,

Writes a Boolean value. A single byte is written according to the value parameter, either 1 if true or 0 if false.

Parameters

value:Boolean — A Boolean value determining which byte is written. If the parameter is true, the method writes a 1; if false, the method writes a 0.

writeBoolean

()method 
public function writeBoolean(value:Boolean):void

Runtime Versions: AIR 1.0,

Writes a Boolean value. A single byte is written according to the value parameter, either 1 if true or 0 if false.

Parameters

value:Boolean — A Boolean value determining which byte is written. If the parameter is true, the method writes a 1; if false, the method writes a 0.

writeByte

()method 
public function writeByte(value:int):void

Runtime Versions: AIR 1.0,

Writes a byte to the byte stream.

The low 8 bits of the parameter are used. The high 24 bits are ignored.

Parameters

value:int — A 32-bit integer. The low 8 bits are written to the byte stream.

writeByte

()method 
public function writeByte(value:int):void

Runtime Versions: AIR 1.0,

Writes a byte to the byte stream.

The low 8 bits of the parameter are used. The high 24 bits are ignored.

Parameters

value:int — A 32-bit integer. The low 8 bits are written to the byte stream.

writeBytes

()method 
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Runtime Versions: AIR 1.0,

Writes a sequence of length bytes from the specified byte array, bytes, starting offset(zero-based index) bytes into the byte stream.

If the length parameter is omitted, the default length of 0 is used; the method writes the entire buffer starting at offset. If the offset parameter is also omitted, the entire buffer is written.

If offset or length is out of range, they are clamped to the beginning and end of the bytes array.

Parameters

bytes:ByteArray — The ByteArray object.
 
offset:uint (default = 0) — A zero-based index indicating the position into the array to begin writing.
 
length:uint (default = 0) — An unsigned integer indicating how far into the buffer to write.

See also

writeBytes

()method 
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Runtime Versions: AIR 1.0,

Writes a sequence of length bytes from the specified byte array, bytes, starting offset(zero-based index) bytes into the byte stream.

If the length parameter is omitted, the default length of 0 is used; the method writes the entire buffer starting at offset. If the offset parameter is also omitted, the entire buffer is written.

If offset or length is out of range, they are clamped to the beginning and end of the bytes array.

Parameters

bytes:ByteArray — The ByteArray object.
 
offset:uint (default = 0) — A zero-based index indicating the position into the array to begin writing.
 
length:uint (default = 0) — An unsigned integer indicating how far into the buffer to write.

See also

writeDouble

()method 
public function writeDouble(value:Number):void

Runtime Versions: AIR 1.0,

Writes an IEEE 754 double-precision (64-bit) floating-point number to the byte stream.

Parameters

value:Number — A double-precision (64-bit) floating-point number.

writeDouble

()method 
public function writeDouble(value:Number):void

Runtime Versions: AIR 1.0,

Writes an IEEE 754 double-precision (64-bit) floating-point number to the byte stream.

Parameters

value:Number — A double-precision (64-bit) floating-point number.

writeFloat

()method 
public function writeFloat(value:Number):void

Runtime Versions: AIR 1.0,

Writes an IEEE 754 single-precision (32-bit) floating-point number to the byte stream.

Parameters

value:Number — A single-precision (32-bit) floating-point number.

writeFloat

()method 
public function writeFloat(value:Number):void

Runtime Versions: AIR 1.0,

Writes an IEEE 754 single-precision (32-bit) floating-point number to the byte stream.

Parameters

value:Number — A single-precision (32-bit) floating-point number.

writeInt

()method 
public function writeInt(value:int):void

Runtime Versions: AIR 1.0,

Writes a 32-bit signed integer to the byte stream.

Parameters

value:int — An integer to write to the byte stream.

writeInt

()method 
public function writeInt(value:int):void

Runtime Versions: AIR 1.0,

Writes a 32-bit signed integer to the byte stream.

Parameters

value:int — An integer to write to the byte stream.

writeMultiByte

()method 
public function writeMultiByte(value:String, charSet:String):void

Runtime Versions: AIR 1.0,

Writes a multibyte string to the byte stream using the specified character set.

Parameters

value:String — The string value to be written.
 
charSet:String — The string denoting the character set to use. Possible character set strings include "shift-jis", "cn-gb", "iso-8859-1", and others. For a complete list, see Supported Character Sets.

writeMultiByte

()method 
public function writeMultiByte(value:String, charSet:String):void

Runtime Versions: AIR 1.0,

Writes a multibyte string to the byte stream using the specified character set.

Parameters

value:String — The string value to be written.
 
charSet:String — The string denoting the character set to use. Possible character set strings include "shift-jis", "cn-gb", "iso-8859-1", and others. For a complete list, see Supported Character Sets.

writeObject

()method 
public function writeObject(object:*):void

Runtime Versions: AIR 1.0,

Writes an object into the byte array in AMF serialized format.

Parameters

object:* — The object to serialize.

writeObject

()method 
public function writeObject(object:*):void

Runtime Versions: AIR 1.0,

Writes an object into the byte array in AMF serialized format.

Parameters

object:* — The object to serialize.

writeShort

()method 
public function writeShort(value:int):void

Runtime Versions: AIR 1.0,

Writes a 16-bit integer to the byte stream. The low 16 bits of the parameter are used. The high 16 bits are ignored.

Parameters

value:int — 32-bit integer, whose low 16 bits are written to the byte stream.

writeShort

()method 
public function writeShort(value:int):void

Runtime Versions: AIR 1.0,

Writes a 16-bit integer to the byte stream. The low 16 bits of the parameter are used. The high 16 bits are ignored.

Parameters

value:int — 32-bit integer, whose low 16 bits are written to the byte stream.

writeUnsignedInt

()method 
public function writeUnsignedInt(value:uint):void

Runtime Versions: AIR 1.0,

Writes a 32-bit unsigned integer to the byte stream.

Parameters

value:uint — An unsigned integer to write to the byte stream.

writeUnsignedInt

()method 
public function writeUnsignedInt(value:uint):void

Runtime Versions: AIR 1.0,

Writes a 32-bit unsigned integer to the byte stream.

Parameters

value:uint — An unsigned integer to write to the byte stream.

writeUTF

()method 
public function writeUTF(value:String):void

Runtime Versions: AIR 1.0,

Writes a UTF-8 string to the byte stream. The length of the UTF-8 string in bytes is written first, as a 16-bit integer, followed by the bytes representing the characters of the string.

Parameters

value:String — The string value to be written.


Throws
RangeError — If the length is larger than 65535.

writeUTF

()method 
public function writeUTF(value:String):void

Runtime Versions: AIR 1.0,

Writes a UTF-8 string to the byte stream. The length of the UTF-8 string in bytes is written first, as a 16-bit integer, followed by the bytes representing the characters of the string.

Parameters

value:String — The string value to be written.


Throws
RangeError — If the length is larger than 65535.

writeUTFBytes

()method 
public function writeUTFBytes(value:String):void

Runtime Versions: AIR 1.0,

Writes a UTF-8 string to the byte stream. Similar to the writeUTF() method, but writeUTFBytes() does not prefix the string with a 16-bit length word.

Parameters

value:String — The string value to be written.

writeUTFBytes

()method 
public function writeUTFBytes(value:String):void

Runtime Versions: AIR 1.0,

Writes a UTF-8 string to the byte stream. Similar to the writeUTF() method, but writeUTFBytes() does not prefix the string with a 16-bit length word.

Parameters

value:String — The string value to be written.

Examples

The following example writes a Boolean and the double-precision floating-point representation of pi to a byte array. This is accomplished using the following steps:
  1. Declare a new ByteArray object instance byteArr.
  2. Write the byte-equivalent value of the Boolean false and then check the length and read it back.
  3. Write the double-precision floating-point equivalent of the mathematical value of pi.
  4. Read back each of the nine bytes written into the byte array.

Note: when air.trace() is called on a byte, it prints the decimal equivalent of the bytes stored in the byte array.

Notice how a code segment is added at the end to check for end of file errors to ensure that the byte stream is not read past its end.

<html>
    <head>
      <script src="AIRAliases.js" />
      <script>
        function init() {
            var byteArr = new air.ByteArray();

            byteArr.writeBoolean(false);
            air.trace(byteArr.length);            // 1
            air.trace(byteArr[0]);            // 0

            byteArr.writeDouble(Math.PI);
            air.trace(byteArr.length);            // 9
            air.trace(byteArr[0]);            // 0
            air.trace(byteArr[1]);            // 64
            air.trace(byteArr[2]);            // 9
            air.trace(byteArr[3]);            // 33
            air.trace(byteArr[4]);            // 251
            air.trace(byteArr[5]);            // 84
            air.trace(byteArr[6]);            // 68
            air.trace(byteArr[7]);            // 45
            air.trace(byteArr[8]);            // 24
            
            byteArr.position = 0;

            try {
                air.trace(byteArr.readBoolean() == false); // true
            } 
            catch(e) {
                air.trace(e);           // EOFError: Error #2030: End of file was encountered.
            }
            
            try {
                air.trace(byteArr.readDouble());        // 3.141592653589793
            }
            catch(e) {
                trace(e);           // EOFError: Error #2030: End of file was encountered.
            }
            
            try {
                air.trace(byteArr.readDouble());
            } 
            catch(e) {
                air.trace(e);            // EOFError: Error #2030: End of file was encountered.
            }
        }
      </script>
    </head>
    <body onload="init()">
    </body>
</html>

The following example writes a Boolean and the double-precision floating-point representation of pi to a byte array. This is accomplished using the following steps:
  1. Declare a new ByteArray object instance byteArr.
  2. Write the byte-equivalent value of the Boolean false and then check the length and read it back.
  3. Write the double-precision floating-point equivalent of the mathematical value of pi.
  4. Read back each of the nine bytes written into the byte array.

Note: when air.trace() is called on a byte, it prints the decimal equivalent of the bytes stored in the byte array.

Notice how a code segment is added at the end to check for end of file errors to ensure that the byte stream is not read past its end.

<html>
    <head>
      <script src="AIRAliases.js" />
      <script>
        function init() {
            var byteArr = new air.ByteArray();

            byteArr.writeBoolean(false);
            air.trace(byteArr.length);            // 1
            air.trace(byteArr[0]);            // 0

            byteArr.writeDouble(Math.PI);
            air.trace(byteArr.length);            // 9
            air.trace(byteArr[0]);            // 0
            air.trace(byteArr[1]);            // 64
            air.trace(byteArr[2]);            // 9
            air.trace(byteArr[3]);            // 33
            air.trace(byteArr[4]);            // 251
            air.trace(byteArr[5]);            // 84
            air.trace(byteArr[6]);            // 68
            air.trace(byteArr[7]);            // 45
            air.trace(byteArr[8]);            // 24
            
            byteArr.position = 0;

            try {
                air.trace(byteArr.readBoolean() == false); // true
            } 
            catch(e) {
                air.trace(e);           // EOFError: Error #2030: End of file was encountered.
            }
            
            try {
                air.trace(byteArr.readDouble());        // 3.141592653589793
            }
            catch(e) {
                trace(e);           // EOFError: Error #2030: End of file was encountered.
            }
            
            try {
                air.trace(byteArr.readDouble());
            } 
            catch(e) {
                air.trace(e);            // EOFError: Error #2030: End of file was encountered.
            }
        }
      </script>
    </head>
    <body onload="init()">
    </body>
</html>