| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die ByteArray-Klasse bietet Methoden und Eigenschaften, die Lese- und Schreibvorgänge für Binärdaten sowie deren Verarbeitung optimieren.
Hinweis: Die ByteArray-Klasse ist für fortgeschrittene ActionScript-Entwickler bestimmt, die Datenzugriff auf Byteebene benötigen.
Im Speicher abgelegte Daten sind in einem Byte-Array angeordnet (die kompakteste Darstellung des Datentyps), doch eine Instanz der ByteArray-Klasse kann mit dem ActionScript-Standardoperator [] (Array-Zugriff) bearbeitet werden. Sie kann auch als im Speicher abgelegte Datei gelesen und geschrieben werden. Die dazu verwendeten Methoden entsprechen denen der Klassen URLStream und Socket.
Zusätzlich werden die zlib-Komprimierung und -Dekomprimierung sowie die Objektserialisierung im AMF-Format (Action Message Format) unterstützt.
Einsatzmöglichkeiten der ByteArray-Klasse:
- Erstellen eines benutzerdefinierten Protokolls für die Verbindung mit einem Server
- Programmieren eines benutzerdefinierten URLEncoder/URLDecoder
- Programmieren eines benutzerdefinierten AMF/Remoting-Pakets
- Optimieren der verwendeten Datengröße durch das Verwenden von Datentypen
Beispiele anzeigen
bytesAvailable:uint [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Anzahl der ab der aktuellen Position im Byte-Array bis zum Ende des Arrays zum Lesen verfügbaren Datenbyte.
Verwenden Sie bei jedem Zugriff auf ein ByteArray-Objekt die bytesAvailable-Eigenschaft zusammen mit den Lesemethoden, um sicherzustellen, dass gültige Daten gelesen werden.
Implementierung
public function get bytesAvailable():uint
defaultObjectEncoding:uint [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt die Standardcodierung für Objekte der ByteArray-Klasse an, die für neue ByteArray-Instanzen verwendet wird. Beim Erstellen einer neuen ByteArray-Instanz beginnt die Codierung für diese Instanz mit dem Wert von defaultObjectEncoding. Die Eigenschaft defaultObjectEncoding wird auf ObjectEncoding.AMF3 initialisiert.
Beim Schreiben oder Lesen eines Objekts aus Binärdaten wird anhand des Werts von objectEncoding ermittelt, ob als Format ActionScript 3.0, ActionScript2.0 oder ActionScript 1.0 verwendet wird. Der Wert ist eine Konstante der ObjectEncoding-Klasse.
Implementierung
public static function get defaultObjectEncoding():uint
public function set defaultObjectEncoding(value:uint):void
Siehe auch
endian:String [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Ändert oder liest die Bytereihenfolge der Daten. Gültige Werte sind "bigEndian" oder "littleEndian". Diese Werte sind Konstanten der Endian-Klasse.
Implementierung
public function get endian():String
public function set endian(value:String):void
Siehe auch
length:uint [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Länge des ByteArray-Objekts in Byte.
Wenn für die Länge ein Wert angegeben wird, der die aktuelle Länge überschreitet, wird das Array in Flash Player auf der rechten Seite mit Nullen aufgefüllt.
Wenn für die Länge ein Wert angegeben wird, der kleiner als die aktuelle Länge ist, wird das Array abgeschnitten.
Implementierung
public function get length():uint
public function set length(value:uint):void
objectEncoding:uint [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Anhand dieses Werts wird ermittelt, ob beim Schreiben oder Lesen einer ByteArray-Instanz als Format ActionScript 3.0, ActionScript 2.0 oder ActionScript 1.0 verwendet werden soll. Der Wert ist eine Konstante der ObjectEncoding-Klasse.
Implementierung
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Siehe auch
position:uint [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Bewegt den Dateizeiger im ByteArray-Objekt oder gibt dessen aktuelle Position in Byte zurück. Dies ist die Position, ab der beim nächsten Aufruf einer Lese- oder Schreibmethode Daten gelesen bzw. geschrieben werden.
Implementierung
public function get position():uint
public function set position(value:uint):void
public function ByteArray()
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Erstellt eine ByteArray-Instanz, die ein gepacktes Byte-Array darstellt, damit Sie die Methoden und Eigenschaften dieser Klasse einsetzen können, um die Datenspeicherung und den Datenstrom Ihres Programms zu optimieren.
public function compress():void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Komprimiert das Byte-Array in das komprimierte Datenformat zlib. Das gesamte Byte-Array wird komprimiert.
Nach dem Aufruf wird die Eigenschaft length des ByteArray auf die neue Länge eingestellt. Die Eigenschaft position wird auf das Ende des Byte-Arrays eingestellt.
Eine Beschreibung des komprimierten Datenformats zlib finden Sie unter http://www.ietf.org/rfc/rfc1950.txt.
Siehe auch
public function readBoolean():Boolean
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest einen booleschen Wert vom Byte-Datenstrom. Es wird ein einzelnes Byte gelesen und true zurückgegeben, wenn das Byte ungleich 0 ist, oder andernfalls false.
Rückgabewerte
| Boolean — Gibt true zurück, wenn das Byte ungleich 0 ist, andernfalls false.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readByte():int
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest ein vorzeichenbehaftetes Byte vom Byte-Datenstrom.
Der Rückgabewert liegt im Bereich von -128 bis 127.
Rückgabewerte
| int — Eine Ganzzahl zwischen -128 und 127.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest die Anzahl der im Parameter length angegebenen Datenbyte aus dem Bytestrom. Die Bytes werden in das ByteArray-Objekt gelesen, das vom Parameter bytes angegeben wird, und in das Ziel-ByteArray geschrieben, das an der durch offset festgelegten Position beginnt.
Parameter
| bytes:ByteArray — Das ByteArray-Objekt, in das die Daten gelesen werden.
|
| |
| offset:uint (default = 0) — Der Offset (die Position) in bytes, ab dem die gelesenen Daten geschrieben werden sollten.
|
| |
| length:uint (default = 0) — Die Anzahl der zu lesenden Byte. Der Standardwert 0 bewirkt, dass alle verfügbaren Daten gelesen werden.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readDouble():Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit (64 Bit) vom Byte-Datenstrom.
Rückgabewerte
| Number — Eine Gleitkommazahl mit doppelter Genauigkeit (64 Bit).
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readFloat():Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit (32 Bit) vom Byte-Datenstrom.
Rückgabewerte
| Number — Eine Gleitkommazahl mit einfacher Genauigkeit (32 Bit).
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readInt():int
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine vorzeichenbehaftete 32-Bit-Ganzzahl vom Byte-Datenstrom.
Der Rückgabewert liegt im Bereich von -2147483648 bis 2147483647.
Rückgabewerte
| int — Eine vorzeichenbehaftete 32-Bit-Ganzzahl zwischen -2147483648 und 2147483647.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readMultiByte(length:uint, charSet:String):String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest einen Multibyte-String der angegebenen Länge unter Verwendung des angegebenen Zeichensatzes vom Byte-Datenstrom.
Parameter
| length:uint — Die Anzahl der aus dem Byte-Stream zu lesenden Byte.
|
| |
| charSet:String — Der String, der den zum Interpretieren der Byte zu verwendenden Zeichensatz angibt. Mögliche Zeichensatz-Strings sind unter anderem "shift-jis", "cn-gb" und "iso-8859-1". Eine vollständige Liste finden Sie unter Unterstützte Zeichensätze.
Hinweis: Wird der Wert des Parameters charSet von dem aktuellen System nicht erkannt, verwendet Flash Player die Standard-Codepage des Systems als Zeichensatz. Beispielsweise kann ein Wert des Parameters charSet wie bei myTest.readMultiByte(22, "iso-8859-01"), wo 01 anstelle von 1 eingesetzt wird, auf Ihrem Entwicklungsrechner funktionieren, aber auf keinem anderen Rechner. Auf anderen Rechnern greift Flash Player auf die Standard-Codepage des Systems zurück.
|
Rückgabewerte
| String — Ein UTF-8-codierter String.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readObject():*
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest ein Objekt vom Byte-Datenstrom, das im serialisierten AMF-Format codiert ist.
Rückgabewerte
| * — Das deserialisierte Objekt.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readShort():int
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine vorzeichenbehaftete 16-Bit-Ganzzahl vom Byte-Datenstrom.
Der Rückgabewert liegt im Bereich von -32768 bis 32767.
Rückgabewerte
| int — Eine vorzeichenbehaftete 16-Bit-Ganzzahl zwischen -32768 und 32767.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readUnsignedByte():uint
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest ein vorzeichenloses Byte vom Byte-Datenstrom.
Der Rückgabewert liegt im Bereich von 0 bis 255.
Rückgabewerte
| uint — Eine vorzeichenlose 32-Bit-Ganzzahl zwischen 0 und 255.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readUnsignedInt():uint
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine vorzeichenlose 32-Bit-Ganzzahl vom Byte-Datenstrom.
Der Rückgabewert liegt im Bereich von 0 bis 4294967295.
Rückgabewerte
| uint — Eine vorzeichenlose 32-Bit-Ganzzahl zwischen 0 und 4294967295.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readUnsignedShort():uint
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine vorzeichenlose 16-Bit-Ganzzahl vom Byte-Datenstrom.
Der Rückgabewert liegt im Bereich von 0 bis 65535.
Rückgabewerte
| uint — Eine vorzeichenlose 16-Bit-Ganzzahl zwischen 0 und 65535.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readUTF():String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest einen UTF-8-String vom Byte-Datenstrom. Es wird davon ausgegangen, dass dem String eine short-Ganzzahl ohne Vorzeichen mit der Länge in Byte vorangestellt ist.
Rückgabewerte
| String — Ein UTF-8-codierter String.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
Siehe auch
public function readUTFBytes(length:uint):String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine Folge von UTF-8-Byte der Anzahl length vom Byte-Datenstrom und gibt einen String zurück.
Parameter
| length:uint — Ein vorzeichenloses short-Element mit der Länge des UTF-8-Strings.
|
Rückgabewerte
| String — Ein String der angegebenen Länge, der aus den UTF-8-Byte besteht.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function toString():String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Konvertiert das Byte-Array in einen String. Wenn die Daten im Array mit einer Unicode-Bytereihenfolgenkennung beginnen, wird diese in Flash bei der Konvertierung in einen String berücksichtigt. Wenn System.useCodePage auf true gesetzt ist, behandelt der Player die Daten im Array beim Konvertieren, als lägen sie in der Codierung der Codepage des Systems vor.
Rückgabewerte
| String — Die Stringdarstellung des Byte-Arrays.
|
public function uncompress():void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Dekomprimiert das Byte-Array. Das Byte-Array muss im komprimierten Datenformat zlib komprimiert worden sein.
Nach dem Aufruf wird die Eigenschaft length des ByteArray auf die neue Länge eingestellt. Die Eigenschaft position wird auf 0 gesetzt.
Eine Beschreibung des komprimierten Datenformats zlib finden Sie unter http://www.ietf.org/rfc/rfc1950.txt.
Siehe auch
public function writeBoolean(value:Boolean):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt einen booleschen Wert. Entsprechend dem Parameter value wird ein einzelnes Byte geschrieben: 1, wenn der Wert true ist oder 0, wenn der Wert false ist.
Parameter
| value:Boolean — Ein boolescher Wert, der angibt, welches Byte geschrieben wird. Ist der Parameter true, schreibt Flash Player eine 1. Bei false wird eine 0 geschrieben.
|
public function writeByte(value:int):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt ein Byte in den Byte-Datenstrom.
Es werden die unteren 8 Bit des Parameters verwendet. Die oberen 24 Bit werden ignoriert.
Parameter
| value:int — Eine 32-Bit-Ganzzahl. Die niedrigstwertigen 8 Bit werden in den Byte-Datenstrom geschrieben.
|
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt eine Bytefolge der Länge length aus dem angegebenen Byte-Array bytes ab der Position offset (auf null basierender Index) in den Byte-Datenstrom.
Wird der Parameter length weggelassen, wird die Standardlänge 0 verwendet. Flash Player schreibt den gesamten Puffer ab der Position offset. Wird auch der Parameter offset weggelassen, so wird der gesamte Pufferinhalt geschrieben.
Wenn sich die Parameter offset bzw. length außerhalb des gültigen Bereichs befinden, werden sie auf den Anfang bzw. auf das Ende des bytes-Array gesetzt.
Parameter
| bytes:ByteArray — Das ByteArray-Objekt.
|
| |
| offset:uint (default = 0) — Ein auf null basierender Index, der die Array-Position angibt, ab der geschrieben werden soll.
|
| |
| length:uint (default = 0) — Eine vorzeichenlose Ganzzahl, die angibt, wie viele Byte des Puffers geschrieben werden sollen.
|
public function writeDouble(value:Number):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt eine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit (64 Bit) in den Byte-Datenstrom.
Parameter
| value:Number — Eine Gleitkommazahl mit doppelter Genauigkeit (64 Bit).
|
public function writeFloat(value:Number):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt eine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit (32 Bit) in den Byte-Datenstrom.
Parameter
| value:Number — Eine Gleitkommazahl mit einfacher Genauigkeit (32 Bit).
|
public function writeInt(value:int):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt eine vorzeichenbehaftete 32-Bit-Ganzzahl in den Byte-Datenstrom.
Parameter
| value:int — Eine Ganzzahl, die in den Byte-Datenstrom geschrieben werden soll.
|
public function writeMultiByte(value:String, charSet:String):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt einen Multibyte-String unter Verwendung des angegebenen Zeichensatzes in den Byte-Datenstrom.
Parameter
| value:String — Der String-Wert, der geschrieben werden soll.
|
| |
| charSet:String — Der String, der den zu verwendenden Zeichensatz angibt. Mögliche Zeichensatz-Strings sind unter anderem "shift-jis", "cn-gb" und "iso-8859-1". Eine vollständige Liste finden Sie unter Unterstützte Zeichensätze.
|
public function writeObject(object:*):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt ein Objekt im serialisierten AMF-Format in den Byte-Datenstrom.
Parameter
| object:* — Das zu serialisierende Objekt.
|
public function writeShort(value:int):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt eine 16-Bit-Ganzzahl in den Byte-Datenstrom. Es werden die unteren 16 Bit des Parameters verwendet. Die oberen 16 Bit werden ignoriert.
Parameter
| value:int — Eine 32-Bit-Ganzzahl, deren niedrigstwertige 16 Bit in den Byte-Datenstrom geschrieben werden.
|
public function writeUnsignedInt(value:uint):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt eine vorzeichenlose 32-Bit-Ganzzahl in den Byte-Datenstrom.
Parameter
| value:uint — Eine vorzeichenlose Ganzzahl, die in den Byte-Datenstrom geschrieben werden soll.
|
public function writeUTF(value:String):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt einen UTF-8-String in den Byte-Datenstrom. Die Länge des UTF-8-Strings in Byte als 16-Bit-Ganzzahl wird zuerst geschrieben, gefolgt von den Byte für die Zeichen des Strings.
Parameter
| value:String — Der String-Wert, der geschrieben werden soll.
|
Auslöser
public function writeUTFBytes(value:String):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Schreibt einen UTF-8-String in den Byte-Datenstrom. Entspricht der writeUTF()-Methode, doch bei writeUTFBytes() wird dem String kein 16-Bit-Wort mit der Längenangabe vorangestellt.
Parameter
| value:String — Der String-Wert, der geschrieben werden soll.
|
Im folgenden Beispiel werden mit der Klasse
ByteArrayExample ein boolescher Ausdruck und die Gleitkommadarstellung (mit doppelter Genauigkeit) der Zahl Pi in ein Byte-Array geschrieben. Dies wird in den folgenden Schritten erreicht:
- Deklarieren Sie eine neue ByteArray-Objektinstanz mit dem Namen
byteArr.
- Schreiben Sie den Byte-Äquivalenzwert des booleschen Werts
false, prüfen Sie die Länge, und rufen Sie den Wert anschließend ab.
- Schreiben Sie den Äquivalenzwert der Zahl Pi in Gleitkommadarstellung (mit doppelter Genauigkeit).
- Rufen Sie die neun einzelnen Bytes im Byte-Array ab.
Hinweis: Wenn trace() für ein Byte aufgerufen wird, wird der äquivalente Dezimalwert der Bytes aus dem Byte-Array gedruckt.
Am Ende wird ein Codesegment eingefügt, mit dem auf Dateiende-Fehler geprüft wird. Hiermit wird sichergestellt, dass nicht über das Ende des Bytestroms hinaus gelesen wird.
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.
}
}
}
}
© 2004-2007 Adobe Systems Incorporated. All rights reserved.
Fri Oct 12 2007, 2:03 AM GMT-07:00
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/utils/ByteArray.html