Packageflash.utils
Classepublic class ByteArray
HéritageByteArray Inheritance Object
Implémente IDataInput, IDataOutput

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

La classe ByteArray comporte des méthodes et des propriétés permettant d'optimiser la lecture, l'écriture et la manipulation des données binaires.

Remarque : la classe ByteArray s'adresse aux développeurs chevronnés qui doivent accéder aux données au niveau des octets.

Les données en mémoire correspondent à un tableau contracté (la représentation la plus compacte du type de données) d'octets, mais une occurrence de la classe ByteArray peut être manipulée avec les opérateurs [] (accès au tableau). Ces données peuvent également être lues et écrites sous forme de fichier en mémoire, en utilisant des méthodes similaires à celles des classes URLStream et Socket.

En outre, la technologie zlib de compression/décompression est prise en charge, de même que la sérialisation d'objet AMF (Action Message Format).

Exemples d'utilisation de la classe ByteArray :

Consulter les exemples

Voir aussi

[] (accès au tableau)
Classe Socket
Classe URLStream


Propriétés publiques
 PropriétéDéfini par
  bytesAvailable : uint
[lecture seule] Nombre d'octets de données pouvant être lus à partir de la position actuelle dans le tableau d'octets et jusqu'à la fin de ce tableau.
ByteArray
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  defaultObjectEncoding : uint
[statique] Indique l'encodage d'objet par défaut que doit utiliser la classe ByteArray pour une nouvelle occurrence de ByteArray.
ByteArray
  endian : String
Modifie ou lit l'ordre des octets des données (Endian.BIG_ENDIAN ou Endian.LITTLE_ENDIAN).
ByteArray
  length : uint
Longueur de l'objet ByteArray, en octets.
ByteArray
  objectEncoding : uint
Permet de déterminer le format à utiliser (ActionScript 3.0, ActionScript 2.0 ou ActionScript 1.0) pour l'écriture ou la lecture d'une occurrence de ByteArray.
ByteArray
  position : uint
Déplace le pointeur de fichier dans l'objet ByteArray ou en renvoie la position actuelle, en octets.
ByteArray
 Inheritedprototype : Object
[statique] Référence à l'objet prototype d'un objet de classe ou fonction.
Object
Méthodes publiques
 MéthodeDéfini par
  
Crée une occurrence de ByteArray qui représente un tableau d'octets contracté, afin de vous permettre d'utiliser les méthodes et propriétés de cette classe pour optimiser les flux et le stockage de vos données.
ByteArray
  
Efface le contenu du tableau d'octets et réinitialise les propriétés length et position sur 0.
ByteArray
  
compress(algorithm:String):void
Compresse le tableau d'octets.
ByteArray
  
Compresse le tableau d'octets à l'aide de l'algorithme de compression deflate.
ByteArray
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
  
Décompresse le tableau d'octets à l'aide de l'algorithme de compression deflate.
ByteArray
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
  
Lit une valeur booléenne dans le flux d'octets.
ByteArray
  
Lit un octet signé dans le flux d'octets.
ByteArray
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Lit le nombre d'octets de données spécifié par le paramètre length dans le flux d'octets.
ByteArray
  
Lit un nombre à virgule flottante à deux décimales (64 bits), conforme à IEEE 754, dans le flux d'octets.
ByteArray
  
Lit un nombre à virgule flottante à une décimale (32 bits), conforme à IEEE 754, dans le flux d'octets.
ByteArray
  
Lit un entier de 32 bits signé dans le flux d'octets.
ByteArray
  
readMultiByte(length:uint, charSet:String):String
Lit une chaîne à plusieurs octets de longueur spécifiée à partir du flux d'octets et à l'aide du jeu de caractères désigné.
ByteArray
  
Lit dans le flux d'octets un objet codé au format AMF (Action Message Format) sérialisé.
ByteArray
  
Lit un entier de 16 bits signé dans le flux d'octets.
ByteArray
  
Lit un octet non signé dans le flux d'octets.
ByteArray
  
Lit un entier de 32 bits non signé dans le flux d'octets.
ByteArray
  
Lit un entier de 16 bits non signé dans le flux d'octets.
ByteArray
  
Lit une chaîne UTF-8 dans le flux d'octets.
ByteArray
  
Lit une séquence d'octets UTF-8 spécifiée par le paramètre length dans le flux d'octets et renvoie une chaîne.
ByteArray
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
  
Convertit le tableau d’octets en chaîne.
ByteArray
  
Décompresse le tableau d'octets.
ByteArray
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
  
Ecrit une valeur booléenne.
ByteArray
  
Ecrit un octet dans le flux d'octets.
ByteArray
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Ecrit une séquence d'octets length extraits du tableau d'octets, des octets, des octets de début du décalage (index à base zéro) spécifié dans le flux d'octets.
ByteArray
  
Ecrit un nombre à virgule flottante à deux décimales (64 bits), conforme à IEEE 754, dans le flux d'octets.
ByteArray
  
Ecrit un nombre à virgule flottante à une décimale (32 bits) et conforme à IEEE 754 dans le flux d'octets.
ByteArray
  
Ecrit un entier de 32 bits signé dans le flux d'octets.
ByteArray
  
Ecrit une chaîne à plusieurs octets dans le flux d'octets en utilisant le jeu de caractères spécifié.
ByteArray
  
Ecrit un objet dans le tableau d'octets au format AMF sérialisé.
ByteArray
  
Ecrit un entier de 16 bits dans le flux d'octets.
ByteArray
  
Ecrit un entier de 32 bits non signé dans le flux d'octets.
ByteArray
  
Ecrit une chaîne UTF-8 dans le flux d'octets.
ByteArray
  
Ecrit une chaîne UTF-8 dans le flux d'octets.
ByteArray
Détails de la propriété
bytesAvailablepropriété
bytesAvailable:uint  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Nombre d'octets de données pouvant être lus à partir de la position actuelle dans le tableau d'octets et jusqu'à la fin de ce tableau.

Utilisez la propriété bytesAvailable conjointement avec les méthodes de lecture chaque fois que vous accédez à un objet ByteArray pour vous assurer que les données lues sont valides.



Implémentation
    public function get bytesAvailable():uint
defaultObjectEncodingpropriété 
defaultObjectEncoding:uint  [lecture-écriture]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Indique l'encodage d'objet par défaut que doit utiliser la classe ByteArray pour une nouvelle occurrence de ByteArray. Lorsque vous créez une nouvelle occurrence de ByteArray, l'encodage correspondant débute par la valeur de defaultObjectEncoding. La propriété defaultObjectEncoding est initialisée à ObjectEncoding.AMF3.

Lorsqu'un objet est écrit ou lu dans des données binaires, la valeur objectEncoding permet de déterminer le format à utiliser : ActionScript 3.0, ActionScript 2.0 ou ActionScript 1.0. La valeur est une constante extraite de la classe ObjectEncoding.



Implémentation
    public static function get defaultObjectEncoding():uint
    public function set defaultObjectEncoding(value:uint):void

Voir aussi

endianpropriété 
endian:String  [lecture-écriture]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Modifie ou lit l'ordre des octets des données (Endian.BIG_ENDIAN ou Endian.LITTLE_ENDIAN).



Implémentation
    public function get endian():String
    public function set endian(value:String):void

Voir aussi

lengthpropriété 
length:uint  [lecture-écriture]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Longueur de l'objet ByteArray, en octets.

Si la longueur est définie sur une valeur supérieure à la longueur en cours, le côté droit du tableau d'octets est rempli de zéros.

Si la longueur est définie sur une valeur inférieure à la longueur en cours, le tableau d'octets est tronqué.



Implémentation
    public function get length():uint
    public function set length(value:uint):void
objectEncodingpropriété 
objectEncoding:uint  [lecture-écriture]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Permet de déterminer le format à utiliser (ActionScript 3.0, ActionScript 2.0 ou ActionScript 1.0) pour l'écriture ou la lecture d'une occurrence de ByteArray. La valeur est une constante extraite de la classe ObjectEncoding.



Implémentation
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

Voir aussi

positionpropriété 
position:uint  [lecture-écriture]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Déplace le pointeur de fichier dans l'objet ByteArray ou en renvoie la position actuelle, en octets. Il s'agit de l'endroit où le prochain appel d'une méthode de lecture ou d'écriture démarre l'opération.



Implémentation
    public function get position():uint
    public function set position(value:uint):void
Détails du constructeur
ByteArray()Constructeur
public function ByteArray()

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Crée une occurrence de ByteArray qui représente un tableau d'octets contracté, afin de vous permettre d'utiliser les méthodes et propriétés de cette classe pour optimiser les flux et le stockage de vos données.

Détails de la méthode
clear()méthode
public function clear():void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: Flash Player 10, AIR 1.5

Efface le contenu du tableau d'octets et réinitialise les propriétés length et position sur 0. L'appel à cette méthode libère explicitement la mémoire utilisée par l'occurrence de ByteArray.

compress()méthode 
public function compress(algorithm:String):void

Compresse le tableau d'octets. Tout le tableau d'octets est compressé. Dans le cas de contenu s'exécutant dans Adobe AIR, vous pouvez spécifier un algorithme de compression en transmettant une valeur (définie dans la classe CompressionAlgorithm) en tant que paramètre algorithm. Flash Player prend uniquement en charge l'algorithme par défaut, zlib.

Après l'appel, la propriété length de l'objet ByteArray est définie sur la nouvelle longueur. La propriété position est définie à la fin du tableau d'octets.

Le format de données compressé zlib est décrit à l'adresse http://www.ietf.org/rfc/rfc1950.txt.

L'algorithme de compression deflate est décrit à l'adresse http://www.ietf.org/rfc/rfc1951.txt.

L'algorithme de compression deflate est utilisé dans plusieurs formats de compression, notamment zlib, gzip, certaines implémentations zip, etc. Lorsque vous compressez les données avec l'un de ces formats de compression, les données compressées (par exemple, le fichier .zip) incluent non seulement la version compressée des données originales, mais également les informations de métadonnées. Exemples de types de métadonnées inclus dans divers formats de fichier : nom de fichier, date/heure de modification du fichier, taille du fichier original, commentaires, données du total de contrôle, etc.

Par exemple, lorsqu'un objet ByteArray est compressé à l'aide de l'algorithme zlib, l'objet ByteArray résultant est structuré dans un format spécifique. Certains octets contiennent des métadonnées sur les données compressées, alors que d'autres contiennent la version compressée actuelle des données originales de l'objet ByteArray. Comme l'indique la spécification du format de données compressées zlib, ces octets (c'est-à-dire la partie contenant la version compressée des données originales) sont compressées à l'aide de l'algorithme deflate. Par conséquent, ces octets sont identiques au résultat de l'appel de compress( CompressionAlgorithm.DEFLATE) sur le ByteArray original. Notez toutefois que l'appel de compress( CompressionAlgorithm.ZLIB) entraîne l'obtention de métadonnées supplémentaires, alors que l'appel de compress( CompressionAlgorithm.DEFLATE) comprend exclusivement la version compressée des données originales de l'objet ByteArray.

Si vous souhaitez utiliser le format deflate pour compresser les données d'une occurrence de ByteArray dans un format spécifique, tel que gzip ou zip, l'appel de la méthode compress( CompressionAlgorithm.DEFLATE) ne suffit pas. Vous devez créer un objet ByteArray structuré en tenant compte de la spécification du format de compression, et notamment des métadonnées appropriées, ainsi que des données compressées obtenues à l'aide du format deflate. De la même façon, pour décoder les données compressées dans un format tel que gzip ou zip, l'appel de la méthode uncompress(CompressionAlgorithm.DEFLATE) ne suffit pas. Vous devez tout d'abord séparer les métadonnées des données compressées, puis utiliser le format deflate pour décompresser les données compressées.

Paramètres

algorithm:String (default = NaN) — Algorithme de compression à utiliser lors de la compression. Les valeurs valides sont définies comme constantes dans la classe CompressionAlgorithm. Par défaut, le format zlib est utilisé. Ce paramètre n'est reconnu que dans le cas de contenu s'exécutant dans Adobe AIR. Flash Player ne prend en charge que l'algorithme par défaut, zlib, et renvoie une exception si vous tentez de transmettre une valeur pour ce paramètre. Appeler compress( CompressionAlgorithm.DEFLATE) revient à appeler la méthode deflate().

Voir aussi

deflate()méthode 
public function deflate():void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: Flash Player 10, AIR 1.5

Compresse le tableau d'octets à l'aide de l'algorithme de compression deflate. Tout le tableau d'octets est compressé.

Après l'appel, la propriété length de l'objet ByteArray est définie sur la nouvelle longueur. La propriété position est définie à la fin du tableau d'octets.

L'algorithme de compression deflate est décrit à l'adresse http://www.ietf.org/rfc/rfc1951.txt.

Si vous souhaitez utiliser le format deflate pour compresser les données d'une occurrence de ByteArray dans un format spécifique, tel que gzip ou zip, l'appel de la méthode deflate() ne suffit pas. Vous devez créer un objet ByteArray structuré en tenant compte de la spécification du format de compression, et notamment des métadonnées appropriées, ainsi que des données compressées obtenues à l'aide du format deflate. De la même façon, pour décoder les données compressées dans un format tel que gzip ou zip, l'appel de la méthode inflate() ne suffit pas. Vous devez tout d'abord séparer les métadonnées des données compressées, puis utiliser le format deflate pour décompresser les données compressées.

Voir aussi

inflate()méthode 
public function inflate():void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 10

Décompresse le tableau d'octets à l'aide de l'algorithme de compression deflate. Le tableau d'octets doit avoir été compressé à l'aide du même algorithme.

Après l'appel, la propriété length de l'objet ByteArray est définie sur la nouvelle longueur. La propriété position est définie sur 0.

L'algorithme de compression deflate est décrit à l'adresse http://www.ietf.org/rfc/rfc1951.txt.

Pour décoder les données compressées dans un format qui utilise l'algorithme de compression deflate (données au format gzip ou zip, par exemple), l'appel de la méthode inflate() pour un objet ByteArray contenant les données de format de compression ne suffit pas. Vous devez tout d'abord séparer les métadonnées faisant partie du format de données compressées des données compressées actuelles. Pour obtenir de plus amples informations, reportez-vous à description de la méthode compress().


Valeur émise
IOError — Ces données ne sont pas des données compressés valides, car elles n'ont pas été compressées avec l'algorithme utilisé lors de la compression.

Voir aussi

readBoolean()méthode 
public function readBoolean():Boolean

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit une valeur booléenne dans le flux d'octets. Un seul octet est lu, et la valeur true est renvoyée s'il n'est pas nul, false dans le cas contraire.

Valeur renvoyée
Boolean — Renvoie true si l'octet correspond à une valeur autre que zéro, false dans le cas contraire.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readByte()méthode 
public function readByte():int

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit un octet signé dans le flux d'octets.

La valeur renvoyée est comprise entre -128 et 127.

Valeur renvoyée
int — Entier compris entre -128 et 127.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readBytes()méthode 
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit le nombre d'octets de données spécifié par le paramètre length dans le flux d'octets. Les octets sont lus dans l'objet ByteArray spécifié par le paramètre bytes, et les octets sont écrits dans l'objet ByteArray cible en commençant à la position spécifiée par offset.

Paramètres

bytes:ByteArray — Objet ByteArray dont les données doivent être lues.
 
offset:uint (default = 0) — Décalage (position) en octets auquel les données lues doivent être écrites.
 
length:uint (default = 0) — Nombre d'octets à lire. La valeur 0 (par défaut) provoque la lecture de toutes les données disponibles.


Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readDouble()méthode 
public function readDouble():Number

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit un nombre à virgule flottante à deux décimales (64 bits), conforme à IEEE 754, dans le flux d'octets.

Valeur renvoyée
Number — Nombre à virgule flottante à deux décimales (64 bits).

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readFloat()méthode 
public function readFloat():Number

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit un nombre à virgule flottante à une décimale (32 bits), conforme à IEEE 754, dans le flux d'octets.

Valeur renvoyée
Number — Nombre à virgule flottante à une décimale (32 bits).

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readInt()méthode 
public function readInt():int

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit un entier de 32 bits signé dans le flux d'octets.

La valeur renvoyée est comprise entre -2147483648 et 2147483647.

Valeur renvoyée
int — Entier signé de 32 bits compris entre -2147483648 et 2147483647.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readMultiByte()méthode 
public function readMultiByte(length:uint, charSet:String):String

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit une chaîne à plusieurs octets de longueur spécifiée à partir du flux d'octets et à l'aide du jeu de caractères désigné.

Paramètres

length:uint — Nombre d'octets à lire dans le flux d'octets.
 
charSet:String — Chaîne désignant le jeu de caractères à utiliser pour interpréter les octets. Parmi les chaînes de jeu de caractères possibles figurent "shift-jis", "cn-gb", "iso-8859-1", etc. Pour obtenir la liste complète, consultez la section Jeux de caractères pris en charge.

Remarque : si la valeur du paramètre charSet n'est pas reconnue par le système actuel, l'application utilise la page de code par défaut du système comme jeu de caractères. Par exemple, une valeur pour le paramètre charSet, comme dans myTest.readMultiByte(22, "iso-8859-01") qui utilise 01 au lieu de 1 pourra éventuellement fonctionner sur votre poste de développement, mais pas sur un autre poste. Sur l'autre ordinateur, l'application utilisera la page de code par défaut du système.

Valeur renvoyée
String — Chaîne au format UTF-8.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readObject()méthode 
public function readObject():*

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit dans le flux d'octets un objet codé au format AMF (Action Message Format) sérialisé.

Valeur renvoyée
* — Objet désérialisé.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.

Voir aussi

readShort()méthode 
public function readShort():int

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit un entier de 16 bits signé dans le flux d'octets.

La valeur renvoyée est comprise entre -32768 et 32767.

Valeur renvoyée
int — Entier signé de 16 bits compris entre -32768 et 32767.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readUnsignedByte()méthode 
public function readUnsignedByte():uint

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit un octet non signé dans le flux d'octets.

La valeur renvoyée est comprise entre 0 et 255.

Valeur renvoyée
uint — Entier non signé de 32 bits compris entre 0 et 255.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readUnsignedInt()méthode 
public function readUnsignedInt():uint

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit un entier de 32 bits non signé dans le flux d'octets.

La valeur renvoyée est comprise entre 0 et 4294967295.

Valeur renvoyée
uint — Entier non signé de 32 bits compris entre 0 et 4294967295.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readUnsignedShort()méthode 
public function readUnsignedShort():uint

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit un entier de 16 bits non signé dans le flux d'octets.

La valeur renvoyée est comprise entre 0 et 65535.

Valeur renvoyée
uint — Entier non signé de 16 bits compris entre 0 et 65535.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
readUTF()méthode 
public function readUTF():String

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit une chaîne UTF-8 dans le flux d'octets. La chaîne doit être précédée d'un caractère non signé indiquant la longueur en octets.

Valeur renvoyée
String — Chaîne au format UTF-8.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.

Voir aussi

readUTFBytes()méthode 
public function readUTFBytes(length:uint):String

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Lit une séquence d'octets UTF-8 spécifiée par le paramètre length dans le flux d'octets et renvoie une chaîne.

Paramètres

length:uint — Entier court non signé qui indique la longueur des octets UTF-8.

Valeur renvoyée
String — Chaîne de longueur spécifiée composée d'octets UTF-8.

Valeur émise
EOFError — Les données à lire ne sont pas suffisantes.
toString()méthode 
public function toString():String

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Convertit le tableau d'octets en chaîne. Si les données du tableau débutent par une marque d'ordre d'octet Unicode, l'application la respecte lors de la conversion en chaîne. Si System.useCodePage est défini sur true, l'application traite les données du tableau comme si elles figuraient dans l'actuelle page de codes système lors de la conversion.

Valeur renvoyée
String — Représentation sous forme de chaîne du tableau d'octets.
uncompress()méthode 
public function uncompress(algorithm:String):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Décompresse le tableau d'octets. Dans le cas de contenu s'exécutant dans Adobe AIR, vous pouvez spécifier un algorithme de compression en transmettant une valeur (définie dans la classe CompressionAlgorithm) en tant que paramètre algorithm. Le tableau d'octets doit avoir été compressé à l'aide du même algorithme. Flash Player prend uniquement en charge l'algorithme par défaut, zlib.

Après l'appel, la propriété length de l'objet ByteArray est définie sur la nouvelle longueur. La propriété position est définie sur 0.

Le format de données compressé zlib est décrit à l'adresse http://www.ietf.org/rfc/rfc1950.txt.

L'algorithme de compression deflate est décrit à l'adresse http://www.ietf.org/rfc/rfc1951.txt.

Pour décoder les données compressées dans un format qui utilise l'algorithme de compression deflate (données au format gzip ou zip, par exemple), l'appel de la méthode uncompress(CompressionAlgorithm.DEFLATE) pour un objet ByteArray contenant les données de format de compression ne suffit pas. Vous devez tout d'abord séparer les métadonnées faisant partie du format de données compressées des données compressées actuelles. Pour obtenir de plus amples informations, reportez-vous à description de la méthode compress().

Paramètres

algorithm:String (default = NaN) — Algorithme de compression à utiliser lors de la décompression. Il doit s'agir du même algorithme de compression utilisé lors de la compression des données. Les valeurs valides sont définies comme constantes dans la classe CompressionAlgorithm. Par défaut, le format zlib est utilisé. Ce paramètre n'est reconnu que dans le cas de contenu s'exécutant dans Adobe AIR. Flash Player ne prend en charge que l'algorithme par défaut, zlib, et renvoie une exception si vous tentez de transmettre une valeur pour ce paramètre.


Valeur émise
IOError — Ces données ne sont pas des données compressés valides, car elles n'ont pas été compressées avec l'algorithme utilisé lors de la compression.

Voir aussi

writeBoolean()méthode 
public function writeBoolean(value:Boolean):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit une valeur booléenne. Un seul octet est écrit, conformément au paramètre value, soit 1 si true ou 0 si false.

Paramètres

value:Boolean — Valeur booléenne qui détermine l'octet à écrire. Si le paramètre a pour valeur true, la méthode écrit 1 ; s'il a pour valeur false, la méthode écrit 0.

writeByte()méthode 
public function writeByte(value:int):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit un octet dans le flux d'octets.

Les 8 bits inférieurs du paramètre sont utilisés. Les 24 bits supérieurs ne sont pas pris en compte.

Paramètres

value:int — Entier de 32 bits. Les 8 bits inférieurs sont écrits dans le flux d'octets.

writeBytes()méthode 
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit une séquence d'octets length extraits du tableau d'octets bytes, en démarrant aux octets offset (index à base zéro) dans le flux d'octets.

Si le paramètre length est omis, la longueur par défaut, 0, est utilisée. La méthode écrit tout le contenu de la mémoire tampon à partir de offset. Si le paramètre offset est également omis, toute la mémoire tampon est écrite.

Si les paramètres offset et length sont hors limites, ils sont réglés sur le début et la fin du tableau (bytes).

Paramètres

bytes:ByteArray — Objet ByteArray.
 
offset:uint (default = 0) — Index basé sur zéro qui indique où débuter l'écriture dans le tableau.
 
length:uint (default = 0) — Entier non signé qui indique l'emplacement du début d'écriture dans la mémoire tampon.

writeDouble()méthode 
public function writeDouble(value:Number):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit un nombre à virgule flottante à deux décimales (64 bits), conforme à IEEE 754, dans le flux d'octets.

Paramètres

value:Number — Nombre à virgule flottante à deux décimales (64 bits).

writeFloat()méthode 
public function writeFloat(value:Number):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit un nombre à virgule flottante à une décimale (32 bits) et conforme à IEEE 754 dans le flux d'octets.

Paramètres

value:Number — Nombre à virgule flottante à une décimale (32 bits).

writeInt()méthode 
public function writeInt(value:int):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit un entier de 32 bits signé dans le flux d'octets.

Paramètres

value:int — Entier à écrire dans le flux d'octets.

writeMultiByte()méthode 
public function writeMultiByte(value:String, charSet:String):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit une chaîne à plusieurs octets dans le flux d'octets en utilisant le jeu de caractères spécifié.

Paramètres

value:String — Valeur de la chaîne à écrire.
 
charSet:String — Chaîne indiquant le jeu de caractères à utiliser. Parmi les chaînes de jeu de caractères possibles figurent "shift-jis", "cn-gb", "iso-8859-1", etc. Pour obtenir la liste complète, consultez la section Jeux de caractères pris en charge.

writeObject()méthode 
public function writeObject(object:*):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit un objet dans le tableau d'octets au format AMF sérialisé.

Paramètres

object:* — Objet à sérialiser.

Voir aussi

writeShort()méthode 
public function writeShort(value:int):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit un entier de 16 bits dans le flux d'octets. Les 16 bits inférieurs du paramètre sont utilisés. Les 16 bits supérieurs ne sont pas pris en compte.

Paramètres

value:int — Entier de 32 bits, dont les 16 bits inférieurs sont écrits dans le flux d'octets.

writeUnsignedInt()méthode 
public function writeUnsignedInt(value:uint):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit un entier de 32 bits non signé dans le flux d'octets.

Paramètres

value:uint — Entier non signé à écrire dans le flux d'octets.

writeUTF()méthode 
public function writeUTF(value:String):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit une chaîne UTF-8 dans le flux d'octets. La longueur de la chaîne UTF-8 exprimée en octets est d'abord écrite sous forme d'entier de 16 bits, suivi des octets représentant les caractères de la chaîne.

Paramètres

value:String — Valeur de la chaîne à écrire.


Valeur émise
RangeError — Si la longueur est supérieure à 65535.
writeUTFBytes()méthode 
public function writeUTFBytes(value:String):void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Ecrit une chaîne UTF-8 dans le flux d'octets. Comme writeUTF(), mais la méthode writeUTFBytes() n'insère pas dans la chaîne un préfixe correspondant à un mot de 16 bits.

Paramètres

value:String — Valeur de la chaîne à écrire.

Exemples Utilisation des exemples
ByteArrayExample.as

L'exemple suivant utilise la classe ByteArrayExample pour écrire une valeur booléenne et la représentation à virgule flottante à deux décimales de pi dans un tableau d'octets. Cette opération se déroule selon la procédure suivante :
  1. Déclarez une nouvelle occurrence de l'objet byteArr.
  2. Ecrivez la valeur équivalente en octets de la valeur booléenne false, puis vérifiez la longueur et relisez-la.
  3. Ecrivez la valeur à virgule flottante à double décimale de la valeur mathématique de pi.
  4. Relisez chacun des neuf octets écrits dans le tableau d'octets.

Remarque : lorsque la méthode trace() est appelée sur un octet, elle imprime l'équivalent décimal des octets stockés dans le tableau d'octets.

Vous remarquerez qu'un segment de code est ajouté à la fin pour vérifier les erreurs de fin de fichier et s'assurer que la lecture du flux d'octets ne dépasse pas la fin.

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.
            }
        }
    }
}