パッケージflash.utils
クラスpublic class ByteArray
継承ByteArray Inheritance Object
実装 IDataInput, IDataOutput

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ByteArray クラスには、バイナリデータの読み取り、書き込み、および操作を最適化するメソッドおよびプロパティがあります。

注意:ByteArray クラスは、バイトレベルでデータにアクセスする必要がある上級の開発者を対象としています。

メモリ内データはバイトの詰め込み配列(最もコンパクトなデータ型の表現)ですが、ByteArray クラスのインスタンスは標準 [](配列アクセス)演算子を使用して操作できます。また、URLStream および Socket クラスと同じメソッドを使用し、メモリ内ファイルとして読み取りおよび書き込みを行うことができます。

さらに、AMF(Action Message Format)オブジェクトの直列化に加えて、zlib 圧縮および解凍もサポートされています。

ByteArray クラスを使用すると、以下の操作が可能です。

例を表示

関連項目

[] (array access)
Socket クラス
URLStream クラス


パブリックプロパティ
 プロパティ定義元
  bytesAvailable : uint
[読み取り専用] バイト配列の現在の位置から最後までの読み取り可能なデータのバイト数です。
ByteArray
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  defaultObjectEncoding : uint
[静的] 新しい ByteArray インスタンスに使用する ByteArray クラス用のデフォルトオブジェクトのエンコードを表します。
ByteArray
  endian : String
データのバイト順序(Endian.BIG_ENDIAN または Endian.LITTLE_ENDIAN)を変更するか、読み取ります。
ByteArray
  length : uint
ByteArray オブジェクトのバイト単位の長さです。
ByteArray
  objectEncoding : uint
ByteArray インスタンスへの書き込み、または ByteArray インスタンスからの読み取り時の、ActionScript 3.0、ActionScript 2.0、または ActionScript 1.0 の形式を使用する必要があるかどうかの特定に使用されます。
ByteArray
  position : uint
ByteArray オブジェクト内でのファイルポインタの現在の位置をバイト単位で移動するか、または現在の位置をバイト単位で返します。
ByteArray
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリックメソッド
 メソッド定義元
  
バイトの詰め込み配列を表す ByteArray インスタンスを作成します。これにより、このクラスのメソッドおよびプロパティを使用して、データストレージおよびデータストリームを最適化できます。
ByteArray
  
バイト配列の内容を消去し、長さと位置のプロパティを 0 にリセットします。
ByteArray
  
compress(algorithm:String):void
バイト配列を圧縮します。
ByteArray
  
deflate 圧縮アルゴリズムを使用してバイト配列を圧縮します。
ByteArray
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
deflate 圧縮アルゴリズムを使用してバイト配列を解凍します。
ByteArray
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
バイトストリームからブール値を読み取ります。
ByteArray
  
バイトストリームから符号付きバイトを読み取ります。
ByteArray
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
バイトストリームから、length パラメータで指定したデータバイト数を読み取ります。
ByteArray
  
バイトストリームから IEEE 754 倍精度(64 ビット)浮動小数点数を読み取ります。
ByteArray
  
バイトストリームから IEEE 754 単精度(32 ビット)浮動小数点数を読み取ります。
ByteArray
  
バイトストリームから符号付き 32 ビット整数を読み取ります。
ByteArray
  
readMultiByte(length:uint, charSet:String):String
指定した文字セットを使用して、バイトストリームから指定した長さのマルチバイトストリングを読み取ります。
ByteArray
  
バイト配列から AMF 直列化形式でエンコードされたオブジェクトを読み取ります。
ByteArray
  
バイトストリームから符号付き 16 ビット整数を読み取ります。
ByteArray
  
バイトストリームから符号なしバイトを読み取ります。
ByteArray
  
バイトストリームから符号なし 32 ビット整数を読み取ります。
ByteArray
  
バイトストリームから符号なし 16 ビット整数を読み取ります。
ByteArray
  
バイトストリームから UTF-8 ストリングを読み取ります。
ByteArray
  
バイトストリームまたはバイト配列から、length パラメータで指定した UTF-8 バイトのシーケンスを読み取り、ストリングを返します。
ByteArray
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
バイト配列をストリングに変換します。
ByteArray
  
バイト配列を解凍します。
ByteArray
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
  
ブール値を書き込みます。
ByteArray
  
バイトストリームにバイトを書き込みます。
ByteArray
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
指定したバイト配列の offset(0 から始まるインデックス値)バイトから開始される length バイトのシーケンス bytes をバイトストリームに書き込みます。
ByteArray
  
バイトストリームに IEEE 754 倍精度(64 ビット)浮動小数点数を書き込みます。
ByteArray
  
バイトストリームに IEEE 754 単精度(32 ビット)浮動小数点数を書き込みます。
ByteArray
  
バイトストリームに 32 ビット符号付き整数を書き込みます。
ByteArray
  
指定した文字セットを使用して、バイトストリームにマルチバイトストリングを書き込みます。
ByteArray
  
バイト配列に AMF 直列化形式でオブジェクトを書き込みます。
ByteArray
  
バイトストリームに 16 ビット整数を書き込みます。
ByteArray
  
バイトストリームに 32 ビット符号なし整数を書き込みます。
ByteArray
  
バイトストリームに UTF-8 ストリングを書き込みます。
ByteArray
  
バイトストリームに UTF-8 ストリングを書き込みます。
ByteArray
プロパティの詳細
bytesAvailableプロパティ
bytesAvailable:uint  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイト配列の現在の位置から最後までの読み取り可能なデータのバイト数です。

ByteArray オブジェクトにアクセスするたびに bytesAvailable プロパティと読み取りメソッドを組み合わせて使用すれば、有効なデータを確実に読み取ることができます。



実装
    public function get bytesAvailable():uint
defaultObjectEncodingプロパティ 
defaultObjectEncoding:uint  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

新しい ByteArray インスタンスに使用する ByteArray クラス用のデフォルトオブジェクトのエンコードを表します。新しい ByteArray インスタンスを作成すると、そのインスタンスのエンコードが defaultObjectEncoding の値で開始します。 defaultObjectEncoding プロパティは ObjectEncoding.AMF3 に初期化されます。

バイナリデータからオブジェクトの書き込みまたは読み取りをすると、objectEncoding 値を使用して、ActionScript 3.0、ActionScript 2.0、または ActionScript 1.0 の形式を使用する必要があるかどうかが特定されます。この値は、ObjectEncoding クラスの定数です。



実装
    public static function get defaultObjectEncoding():uint
    public function set defaultObjectEncoding(value:uint):void

関連項目

endianプロパティ 
endian:String  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

データのバイト順序(Endian.BIG_ENDIAN または Endian.LITTLE_ENDIAN)を変更するか、読み取ります。



実装
    public function get endian():String
    public function set endian(value:String):void

関連項目

lengthプロパティ 
length:uint  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ByteArray オブジェクトのバイト単位の長さです。

この長さに現在の長さよりも大きい値を設定すると、バイト配列の右側は 0 で埋められます。

この長さに現在の長さよりも小さい値を設定すると、バイト配列は切り詰められます。



実装
    public function get length():uint
    public function set length(value:uint):void
objectEncodingプロパティ 
objectEncoding:uint  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ByteArray インスタンスへの書き込み、または ByteArray インスタンスからの読み取り時の、ActionScript 3.0、ActionScript 2.0、または ActionScript 1.0 の形式を使用する必要があるかどうかの特定に使用されます。この値は、ObjectEncoding クラスの定数です。



実装
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

関連項目

positionプロパティ 
position:uint  [読み書き可能]

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ByteArray オブジェクト内でのファイルポインタの現在の位置をバイト単位で移動するか、または現在の位置をバイト単位で返します。これは、次に読み取りメソッドまたは書き込みメソッドを呼び出したときに読み取りまたは書き込みが開始されるポイントです。



実装
    public function get position():uint
    public function set position(value:uint):void
コンストラクタの詳細
ByteArray()コンストラクタ
public function ByteArray()

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトの詰め込み配列を表す ByteArray インスタンスを作成します。これにより、このクラスのメソッドおよびプロパティを使用して、データストレージおよびデータストリームを最適化できます。

メソッドの詳細
clear()メソッド
public function clear():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

バイト配列の内容を消去し、長さ位置のプロパティを 0 にリセットします。このメソッドを明示的に呼び出すと、ByteArray インスタンスによって使用されるメモリを解放します。

compress()メソッド 
public function compress(algorithm:String):void

バイト配列を圧縮します。バイト配列全体が圧縮されます。Adobe AIR で実行しているコンテンツの場合、CompressionAlgorithm クラスに定義されている値を algorithm パラメータとして渡すことにより、圧縮アルゴリズムを指定できます。Flash Player は、デフォルトの zlib アルゴリズムのみをサポートします。

呼び出し後、ByteArray の length プロパティが新しい長さに設定されます。position プロパティがバイト配列の末尾に設定されます。

zlib 圧縮データ形式の詳細については、http://www.ietf.org/rfc/rfc1950.txt の説明を参照してください。

deflate 圧縮アルゴリズムについては、http://www.ietf.org/rfc/rfc1951.txt の説明を参照してください。

deflate 圧縮アルゴリズムは、zlib、gzip、一部の zip 実装などの様々な圧縮形式で使用されています。これらの圧縮形式のいずれかを使用してデータを圧縮した場合、その圧縮形式データ(.zip ファイルなど)には、元のデータの圧縮されたバージョンに加えてメタデータ情報も保存されます。各種ファイル形式に含まれるメタデータの種類の例としては、ファイル名、ファイル修正日時、元のファイルサイズ、オプションのコメント、チェックサムデータなどがあります。

例えば、zlib アルゴリズムを使用して ByteArray を圧縮すると、生成された ByteArray の構造はある特定のフォーマットになります。特定のバイト位置に圧縮データに関するメタデータが格納され、それ以外のバイト位置に元の ByteArray データの実際に圧縮されたバージョンが格納されます。zlib 圧縮データ形式の仕様で規定されているように、このバイト部分(つまり、元のデータの圧縮されたバージョンを含む部分)は deflate アルゴリズムを使用して圧縮されます。したがって、これらのバイトは、元の ByteArray で compress( CompressionAlgorithm.DEFLATE) を呼び出した結果と同じです。ただし、 compress( CompressionAlgorithm.ZLIB) の結果には追加のメタデータが含まれています。それに対して、compress(CompressionAlgorithm.DEFLATE) の結果には元の ByteArray データの圧縮されたバージョン以外のものは含まれていません。

したがって、deflate 形式を使用して ByteArray インスタンスのデータを gzip や zip などの特定の形式に圧縮する場合は、単に compress(CompressionAlgorithm.DEFLATE) を呼び出すだけでは不十分です。圧縮形式の仕様に従い、適切なメタデータと deflate 形式で圧縮されたデータで構成された ByteArray を作成する必要があります。同様に、gzip や zip などの形式で圧縮されたデータを解凍する場合、単にそのデータに対して uncompress(CompressionAlgorithm.DEFLATE) を呼び出すだけでは不十分です。まず、圧縮データからメタデータを分離してから、deflate 形式を使用して圧縮データを解凍する必要があります。

パラメータ

algorithm:String (default = NaN) — 圧縮時に使用する圧縮アルゴリズムです。有効な値は、CompressionAlgorithm クラスに定数で定義されています。デフォルトでは zlib 形式が使用されます。このパラメータは、Adobe AIR で実行しているコンテンツに対してのみ有効です。 Flash Player はデフォルトの zlib アルゴリズムのみをサポートしているため、このパラメータの値を渡そうとすると例外をスローします。 compress(CompressionAlgorithm.DEFLATE) の呼び出しは、deflate() メソッドを呼び出した場合と同じ効果があります。

関連項目

deflate()メソッド 
public function deflate():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

deflate 圧縮アルゴリズムを使用してバイト配列を圧縮します。バイト配列全体が圧縮されます。

呼び出し後、ByteArray の length プロパティが新しい長さに設定されます。position プロパティがバイト配列の末尾に設定されます。

deflate 圧縮アルゴリズムについては、http://www.ietf.org/rfc/rfc1951.txt の説明を参照してください。

deflate 形式を使用して ByteArray インスタンスのデータを gzip や zip などの特定の形式に圧縮する場合は、単に deflate() を呼び出すだけでは目的を達することはできません。圧縮形式の仕様に従い、適切なメタデータと deflate 形式で圧縮されたデータで構成された ByteArray を作成する必要があります。 同様に、gzip や zip などの形式で圧縮されたデータを解凍する場合、単にそのデータに対して inflate() を呼び出すだけでは不十分です。まず、圧縮データからメタデータを分離してから、deflate 形式を使用して圧縮データを解凍する必要があります。

関連項目

inflate()メソッド 
public function inflate():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 10

deflate 圧縮アルゴリズムを使用してバイト配列を解凍します。同じアルゴリズムを使用してバイト配列が圧縮されている必要があります。

呼び出し後、ByteArray の length プロパティが新しい長さに設定されます。position プロパティが 0 に設定されます。

deflate 圧縮アルゴリズムについては、http://www.ietf.org/rfc/rfc1951.txt の説明を参照してください。

deflate 圧縮アルゴリズムを使用する形式で圧縮されたデータ(gzip 形式や zip 形式のデータ)を解凍する場合、圧縮形式データを含む ByteArray に対して単に inflate() を呼び出してもデータは解凍されません。まず、圧縮データ形式の構成要素であるメタデータを実際の圧縮データから分離する必要があります。詳細については、compress() メソッドの説明を参照してください。


例外
IOError — データが有効な圧縮データではありません。指定された圧縮アルゴリズムと同じアルゴリズムを使用して圧縮されていません。

関連項目

readBoolean()メソッド 
public function readBoolean():Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームからブール値を読み取ります。1 バイトが読み取られ、バイトがゼロ以外の場合は true、それ以外の場合は false が返されます。

戻り値
Boolean — バイトがゼロ以外の場合は true、それ以外の場合は false が返されます。

例外
EOFError — 読み取り可能なデータが不足しています。
readByte()メソッド 
public function readByte():int

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから符号付きバイトを読み取ります。

戻り値は -128 ~ 127 の範囲です。

戻り値
int — -128 ~ 127 の整数です。

例外
EOFError — 読み取り可能なデータが不足しています。
readBytes()メソッド 
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから、length パラメータで指定したデータバイト数を読み取ります。バイトは、bytes パラメータによって指定された ByteArray オブジェクトに読み取られ、offset によって指定された位置から始まるターゲット ByteArray に書き込まれます。

パラメータ

bytes:ByteArray — データの読み込み先の ByteArray オブジェクトです。
 
offset:uint (default = 0) — 読み取ったデータが書き込まれる bytes 内のオフセット(位置)です。
 
length:uint (default = 0) — 読み取るバイト数です。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。


例外
EOFError — 読み取り可能なデータが不足しています。
readDouble()メソッド 
public function readDouble():Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから IEEE 754 倍精度(64 ビット)浮動小数点数を読み取ります。

戻り値
Number — 倍精度(64 ビット)浮動小数点数です。

例外
EOFError — 読み取り可能なデータが不足しています。
readFloat()メソッド 
public function readFloat():Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから IEEE 754 単精度(32 ビット)浮動小数点数を読み取ります。

戻り値
Number — 単精度(32 ビット)浮動小数点数です。

例外
EOFError — 読み取り可能なデータが不足しています。
readInt()メソッド 
public function readInt():int

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから符号付き 32 ビット整数を読み取ります。

戻り値は -2147483648 ~ 2147483647 の範囲です。

戻り値
int — -2147483648 ~ 2147483647 の 32 ビット符号付き整数です。

例外
EOFError — 読み取り可能なデータが不足しています。
readMultiByte()メソッド 
public function readMultiByte(length:uint, charSet:String):String

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

指定した文字セットを使用して、バイトストリームから指定した長さのマルチバイトストリングを読み取ります。

パラメータ

length:uint — バイトストリームから読み取るバイト数です。
 
charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、「shift-jis」「cn-gb」「iso-8859-1」などがあります。 完全な一覧については、サポートする文字セットを参照してください。

注意:charSet パラメータの値が現在のシステムによって認識されない場合、アプリケーションはシステムのデフォルトコードページを文字セットとして使用します。例えば、charSet パラメータの指定で、myTest.readMultiByte(22, "iso-8859-01") のように、011 の代わりに使用した場合、その文字セットパラメータは開発マシンでは認識されるかもしれませんが、別のマシンでは認識されない可能性があります。もう一方のマシンでは、アプリケーションがシステムのデフォルトコードページを使用することになります。

戻り値
String — UTF-8 エンコードされたストリングです。

例外
EOFError — 読み取り可能なデータが不足しています。
readObject()メソッド 
public function readObject():*

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイト配列から AMF 直列化形式でエンコードされたオブジェクトを読み取ります。

戻り値
* — 非直列化されたオブジェクトです。

例外
EOFError — 読み取り可能なデータが不足しています。

関連項目

readShort()メソッド 
public function readShort():int

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから符号付き 16 ビット整数を読み取ります。

戻り値は -32768 ~ 32767 の範囲です。

戻り値
int — -32768 ~ 32767 の 16 ビット符号付き整数です。

例外
EOFError — 読み取り可能なデータが不足しています。
readUnsignedByte()メソッド 
public function readUnsignedByte():uint

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから符号なしバイトを読み取ります。

戻り値は 0 ~ 255 の範囲です。

戻り値
uint — 0 ~ 255 の 32 ビット符号なし整数です。

例外
EOFError — 読み取り可能なデータが不足しています。
readUnsignedInt()メソッド 
public function readUnsignedInt():uint

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから符号なし 32 ビット整数を読み取ります。

戻り値は 0 ~ 4294967295 の範囲です。

戻り値
uint — 0 ~ 4294967295 の 32 ビット符号なし整数です。

例外
EOFError — 読み取り可能なデータが不足しています。
readUnsignedShort()メソッド 
public function readUnsignedShort():uint

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから符号なし 16 ビット整数を読み取ります。

戻り値は 0 ~ 65535 の範囲です。

戻り値
uint — 0 ~ 65535 の 16 ビット符号なし整数です。

例外
EOFError — 読み取り可能なデータが不足しています。
readUTF()メソッド 
public function readUTF():String

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームから UTF-8 ストリングを読み取ります。このストリングには、バイト単位の長さを示す符号なし short が前に付いているものと見なされます。

戻り値
String — UTF-8 エンコードされたストリングです。

例外
EOFError — 読み取り可能なデータが不足しています。

関連項目

readUTFBytes()メソッド 
public function readUTFBytes(length:uint):String

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームまたはバイト配列から、length パラメータで指定した UTF-8 バイトのシーケンスを読み取り、ストリングを返します。

パラメータ

length:uint — UTF-8 バイトの長さを示す符号なし short です。

戻り値
String — 指定した長さの UTF-8 バイトで構成するストリングです。

例外
EOFError — 読み取り可能なデータが不足しています。
toString()メソッド 
public function toString():String

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイト配列をストリングに変換します。配列のデータが Unicode バイト順マークで開始する場合、アプリケーションではストリングの変換時に、そのマークが使用されます。System.useCodePagetrue に設定すると、アプリケーションでは、変換時の配列のデータは現在のシステムコードページにあると見なされます。

戻り値
String — バイト配列のストリング表現です。
uncompress()メソッド 
public function uncompress(algorithm:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイト配列を解凍します。Adobe AIR で実行しているコンテンツの場合、CompressionAlgorithm クラスに定義されている値を algorithm パラメータとして渡すことにより、圧縮アルゴリズムを指定できます。同じアルゴリズムを使用してバイト配列が圧縮されている必要があります。Flash Player は、デフォルトの zlib アルゴリズムのみをサポートします。

呼び出し後、ByteArray の length プロパティが新しい長さに設定されます。position プロパティが 0 に設定されます。

zlib 圧縮データ形式の詳細については、http://www.ietf.org/rfc/rfc1950.txt の説明を参照してください。

deflate 圧縮アルゴリズムについては、http://www.ietf.org/rfc/rfc1951.txt の説明を参照してください。

deflate 圧縮アルゴリズムを使用する形式で圧縮されたデータ(gzip 形式や zip 形式のデータ)を解凍する場合、圧縮形式データを含む ByteArray に対して uncompress(CompressionAlgorithm.DEFLATE) を呼び出してもデータは解凍されません。まず、圧縮データ形式の構成要素であるメタデータを実際の圧縮データから分離する必要があります。詳細については、compress() メソッドの説明を参照してください。

パラメータ

algorithm:String (default = NaN) — 解凍時に使用する圧縮アルゴリズムです。データの圧縮に使用されたものと同じ圧縮アルゴリズムを指定する必要があります。有効な値は、CompressionAlgorithm クラスに定数で定義されています。デフォルトでは zlib 形式が使用されます。このパラメータは、Adobe AIR で実行しているコンテンツに対してのみ有効です。Flash Player はデフォルトの zlib アルゴリズムのみをサポートしているため、このパラメータの値を渡そうとすると例外をスローします。


例外
IOError — データが有効な圧縮データではありません。指定された圧縮アルゴリズムと同じアルゴリズムを使用して圧縮されていません。

関連項目

writeBoolean()メソッド 
public function writeBoolean(value:Boolean):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ブール値を書き込みます。 value パラメータに従って、1 バイトが書き込まれます。true の場合は 1、false の場合は 0 のいずれかが書き込まれます。

パラメータ

value:Boolean — 書き込むバイトを決定するブール値です。このパラメータが true の場合は 1、false の場合は 0 がメソッドによって書き込まれます。

writeByte()メソッド 
public function writeByte(value:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームにバイトを書き込みます。

パラメータの下位 8 ビットが使用されます。上位 24 ビットは無視されます。

パラメータ

value:int — 32 ビット整数です。バイトストリームに下位 8 ビットが書き込まれます。

writeBytes()メソッド 
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

指定したバイト配列の length バイトのシーケンス bytes の、offset(0 から始まるインデックス値)バイト以降をバイトストリームに書き込みます。

length パラメータを省略すると、デフォルトの長さの 0 が使用され、メソッドによって offset から開始されるバッファ全体が書き込まれます。 offset パラメータも省略した場合は、バッファ全体が書き込まれます。

offset または length が範囲外の場合、これらは bytes 配列の最初と最後に固定されます。

パラメータ

bytes:ByteArray — ByteArray オブジェクトです。
 
offset:uint (default = 0) — 書き込みを開始する配列の位置を示す、0 から始まるインデックスです。
 
length:uint (default = 0) — 書き込むバッファの長さを示す符号付きの整数です。

writeDouble()メソッド 
public function writeDouble(value:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームに IEEE 754 倍精度(64 ビット)浮動小数点数を書き込みます。

パラメータ

value:Number — 倍精度(64 ビット)浮動小数点数です。

writeFloat()メソッド 
public function writeFloat(value:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームに IEEE 754 単精度(32 ビット)浮動小数点数を書き込みます。

パラメータ

value:Number — 単精度(32 ビット)浮動小数点数です。

writeInt()メソッド 
public function writeInt(value:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームに 32 ビット符号付き整数を書き込みます。

パラメータ

value:int — バイトストリームに書き込む整数です。

writeMultiByte()メソッド 
public function writeMultiByte(value:String, charSet:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

指定した文字セットを使用して、バイトストリームにマルチバイトストリングを書き込みます。

パラメータ

value:String — 書き込まれるストリング値です。
 
charSet:String — 使用する文字セットを表すストリングです。文字セットのストリングには、「shift-jis」「cn-gb」「iso-8859-1」などがあります。 完全な一覧については、サポートする文字セットを参照してください。

writeObject()メソッド 
public function writeObject(object:*):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイト配列に AMF 直列化形式でオブジェクトを書き込みます。

パラメータ

object:* — 直列化するオブジェクトです。

関連項目

writeShort()メソッド 
public function writeShort(value:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームに 16 ビット整数を書き込みます。パラメータの下位 16 ビットが使用されます。上位 16 ビットは無視されます。

パラメータ

value:int — バイトストリームに下位 16 ビットが書き込まれる 32 ビット整数です。

writeUnsignedInt()メソッド 
public function writeUnsignedInt(value:uint):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームに 32 ビット符号なし整数を書き込みます。

パラメータ

value:uint — バイトストリームに書き込む符号なし整数です。

writeUTF()メソッド 
public function writeUTF(value:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームに UTF-8 ストリングを書き込みます。最初に UTF-8 ストリングの長さがバイト単位で 16 ビット整数として書き込まれ、その後にストリングの文字を表すバイトが続きます。

パラメータ

value:String — 書き込まれるストリング値です。


例外
RangeError — 長さが 65535 よりも大きい場合。
writeUTFBytes()メソッド 
public function writeUTFBytes(value:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトストリームに UTF-8 ストリングを書き込みます。writeUTF() メソッドと似ていますが、writeUTFBytes() では、ストリングに 16 ビット長の接頭辞が付きません。

パラメータ

value:String — 書き込まれるストリング値です。

例の使用法
ByteArrayExample.as

次の例では、クラス ByteArrayExample を使用して、ブールおよび pi の倍精度の浮動小数表現をバイト配列に書き込みます。ここでは以下の手順を実行します。
  1. 新しい ByteArray オブジェクトインスタンス byteArr を宣言します。
  2. バイトと等価のブール値 false を書き込み、長さをチェックしてその値を戻します。
  3. pi の数値と等価の倍精度の浮動小数を書き込みます。
  4. バイト配列に書き込まれた 9 バイトを 1 つずつ読み出します。

注意:trace() がバイトに対して呼び出されると、バイト配列に保存された 10 進表現のバイトが出力されます。

コードセグメントが最後に追加され、ファイルの終端エラーをチェックして、バイトストリームが最後まで読み取られないことを確認します。

package {
    import flash.display.Sprite;
    import flash.utils.ByteArray;
    import flash.errors.EOFError;

    public class ByteArrayExample extends Sprite {        
        public function ByteArrayExample() {
            var byteArr:ByteArray = new ByteArray();

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

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

            try {
                trace(byteArr.readBoolean() == false); // true
            } 
            catch(e:EOFError) {
                trace(e);           // EOFError: Error #2030: End of file was encountered.
            }
            
            try {
                trace(byteArr.readDouble());        // 3.141592653589793
            }
            catch(e:EOFError) {
                trace(e);           // EOFError: Error #2030: End of file was encountered.
            }
            
            try {
                trace(byteArr.readDouble());
            } 
            catch(e:EOFError) {
                trace(e);            // EOFError: Error #2030: End of file was encountered.
            }
        }
    }
}