Paket | flash.utils |
Klass | public class ByteArray |
Arv | ByteArray Object |
Implementerar | IDataInput, IDataOutput |
Underklasser | ByteArrayAsset |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Obs! ByteArray-klassen är avsedd för erfarna utvecklare som behöver åtkomst till data på bytenivå.
Data i minnet är en paketerad array (den mest kompakta återgivningen av datatypen) med byte, men en instans av ByteArray-klassen kan ändras med standardoperatorerna i []
(arrayåtkomst). Den kan också läsas och skrivas till en fil i minnet med liknande metoder som dem som används i URLStream- och Socket-klasserna.
Dessutom finns stöd för zlib-, deflate- och lzma-komprimering/-dekomprimering, liksom AMF-objektserialisering (Action Message Format).
Ett ByteArray-objekt kan dela dess stödminne med flera arbetarinstanser genom att egenskapen shareable
sätts till true
.
ByteArray-klassen kan användas på följande sätt:
- Skapa ett eget protokoll för att ansluta till servern.
- Skriva en egen URLEncoder eller URLDecoder.
- Skriva ett eget AMF/Remoting-paket.
- Optimera storleken på data med hjälp av datatyper.
- Arbeta med binära data som hämtats från en fil.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
bytesAvailable : uint [skrivskyddad]
Antalet databyte som är tillgängliga att läsa från den aktuella positionen i bytearrayen till slutet av arrayen. | ByteArray | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
defaultObjectEncoding : uint [statisk]
Avser standardobjektkodningen för ByteArray-klassen som ska användas för en ny ByteArray-instans. | ByteArray | ||
endian : String
Ändrar eller läser byte-ordningen för data; antingen Endian.BIG_ENDIAN eller Endian.LITTLE_ENDIAN. | ByteArray | ||
length : uint
ByteArray-objektets längd i byte. | ByteArray | ||
objectEncoding : uint
Används för att avgöra om formatet ActionScript 3.0, ActionScript 2.0 eller ActionScript 1.0 ska användas för att skriva till och läsa från en ByteArray-instans. | ByteArray | ||
position : uint
Flyttar eller returnerar filpekarens aktuella position i byte till ByteArray-objektet. | ByteArray | ||
shareable : Boolean
Anger om det underliggande minnet för bytearrayen är delbart. | ByteArray |
Metod | Definieras med | ||
---|---|---|---|
Skapar en ByteArray-instans som representerar en packad array med byte så att du kan använda metoderna och egenskaperna i klassen för att optimera datalagring och strömmar. | ByteArray | ||
I en enstaka atomisk åtgärd jämförs ett heltalsvärde i denna bytearray med ett annat heltalsvärde och om de matchar växlas dessa byte mot andra värden. | ByteArray | ||
I en enstaka atomisk åtgärd jämförs längden för denna bytearray med ett tillhandhållet värde och om de matchar ändras längden för den här bytearrayen. | ByteArray | ||
Rensar bytearrayens innehåll och nollställer egenskaperna length och position. | ByteArray | ||
Komprimerar bytearrayen. | ByteArray | ||
Komprimerar bytearrayen med hjälp av deflate-komprimeringsalgoritmen. | ByteArray | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Dekomprimerar bytearrayen med hjälp av deflate-komprimeringsalgoritmen. | ByteArray | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Läser ett booleskt värde från byteflödet. | ByteArray | ||
Läser en byte med tecken från byteflödet. | ByteArray | ||
Läser så många databyte som anges av parametern length från byteflödet. | ByteArray | ||
Läser ett IEEE 754-flyttal med dubbel precision (64 bitar) från byteflödet. | ByteArray | ||
Läser ett IEEE 754-flyttal med enkel precision (32 bitar) från byteflödet. | ByteArray | ||
Läser ett 32-bitars heltal med tecken från byteflödet. | ByteArray | ||
Läser en multibyte-sträng med den angivna längden från byteströmmen med den angivna teckenuppsättningen. | ByteArray | ||
readObject():*
Läser ett objekt från bytearrayen, kodat i serialiserat AMF-format. | ByteArray | ||
Läser ett 16-bitars heltal med tecken från byteflödet. | ByteArray | ||
Läser en byte utan tecken från byteflödet. | ByteArray | ||
Läser ett 32-bitars heltal utan tecken från byteflödet. | ByteArray | ||
Läser ett 16-bitars heltal utan tecken från byteflödet. | ByteArray | ||
Läser en UTF-8-sträng från byteflödet. | ByteArray | ||
Läser en sekvens med UTF-8-byte som anges av parametern length från byteflödet och returnerar en sträng. | ByteArray | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Erbjuder en åsidosättningsbar metod för att anpassa JSON-kodning av värden i ett ByteArray-objekt. | ByteArray | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Konverterar bytearrayen till en sträng. | ByteArray | ||
Dekomprimerar bytearrayen. | ByteArray | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Skriver ett booleskt värde. | ByteArray | ||
Skriver en byte till byteflödet. | ByteArray | ||
Skriver en sekvens med det antal byte som anges av parametern length från den angivna bytearrayen bytes. Sekvensen börjar så många byte in i byteflödet som anges av parametern offset (nollbaserat index). | ByteArray | ||
Skriver ett IEEE 754-flyttal med dubbel precision (64 bitar) till byteflödet. | ByteArray | ||
Skriver ett IEEE 754-flyttal med enkel precision (32 bitar) till byteflödet. | ByteArray | ||
Skriver ett 32-bitars heltal med tecken till byteflödet. | ByteArray | ||
Skriver en flerbytesträng till byteflödet med den angivna teckenuppsättningen. | ByteArray | ||
Skriver ett objekt till bytearrayen i serialiserat AMF-format. | ByteArray | ||
Skriver ett 16-bitars heltal till byteflödet. | ByteArray | ||
Skriver ett 32-bitars heltal utan tecken till byteflödet. | ByteArray | ||
Skriver en UTF-8-sträng till byteflödet. | ByteArray | ||
Skriver en UTF-8-sträng till byteflödet. | ByteArray |
bytesAvailable | egenskap |
bytesAvailable:uint
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Antalet databyte som är tillgängliga att läsa från den aktuella positionen i bytearrayen till slutet av arrayen.
Använd egenskapen bytesAvailable
tillsammans med läsmetoderna varje gång du öppnar ett ByteArray-objekt och se till att du läser giltiga data.
Implementering
public function get bytesAvailable():uint
defaultObjectEncoding | egenskap |
defaultObjectEncoding:uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Avser standardobjektkodningen för ByteArray-klassen som ska användas för en ny ByteArray-instans. När du skapar en ny ByteArray-instans startar kodningen för den instansen med värdet defaultObjectEncoding
. Egenskapen defaultObjectEncoding
initieras på ObjectEncoding.AMF3
.
När ett objekt skrivs eller läses från binära data används värdet objectEncoding
för att fastställa om formatet ActionScript 3.0, ActionScript2.0 eller ActionScript 1.0 ska användas. Det här värdet är en konstant från ObjectEncoding-klassen.
Implementering
public static function get defaultObjectEncoding():uint
public static function set defaultObjectEncoding(value:uint):void
Relaterade API-element
endian | egenskap |
endian:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ändrar eller läser byte-ordningen för data; antingen Endian.BIG_ENDIAN
eller Endian.LITTLE_ENDIAN
. Standardvärdet är BIG_ENDIAN
.
Implementering
public function get endian():String
public function set endian(value:String):void
Relaterade API-element
length | egenskap |
length:uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ByteArray-objektets längd i byte.
Om längden ställs in på ett värde som är större än den aktuella längden, fylls bytearrayens högra sida med nollor.
Om längden är inställd på ett värde som är mindre än den aktuella längden, trunkeras bytearrayen.
Implementering
public function get length():uint
public function set length(value:uint):void
objectEncoding | egenskap |
objectEncoding:uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Används för att avgöra om formatet ActionScript 3.0, ActionScript 2.0 eller ActionScript 1.0 ska användas för att skriva till och läsa från en ByteArray-instans. Det här värdet är en konstant från ObjectEncoding-klassen.
Implementering
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Relaterade API-element
position | egenskap |
position:uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Flyttar eller returnerar filpekarens aktuella position i byte till ByteArray-objektet. Detta är den punkt där nästa anrop till ett läsmetod börjar läsa eller en skrivmetod börjar skriva.
Implementering
public function get position():uint
public function set position(value:uint):void
shareable | egenskap |
shareable:Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11.5, AIR 3.5 |
Anger om det underliggande minnet för bytearrayen är delbart. För en delbar bytearray används för alla ByteArray-instanser i alla arbetare, som refererar till bytearrayen, samma bakomliggande systemminne. Standardvärdet är false
vilket visar att det underliggande minnet inte delas av arbetare.
Den här egenskapen kontrollerar även vad som görs i miljön med den här bytearrayen om den skickas till en arbetare med metoden Worker.setSharedProperty()
eller MessageChannel.send()
:
- Inte delbar: Om den här egenskapen är
false
kommer bytearrayan som skickas till en arbetare att skapa en komplett kopia av bytearrayen, inklusive att allokera ett nytt minnessegment i vilket bytearray-dubblettens innehåll lagras - Delbar: Om den här egenskapen är
true
kommer, när bytearrayen skickas till en arbetare samma underliggande minne att användas som lagringsbuffert för innehållet för både den ursprungliga ByteArray-instansen och den nya ByteArray-instansen för den andra arbetaren i miljön. Detta innebär att båda ByteArray-instanserna innehåller en referens till samma underliggande bytearray.
Möjligheten att få åtkomst till en delad bytearray från flera arbetare samtidigt kan resultera i en icke önskvärd situation där båda arbetarna förändrar bytearrayens underliggande minne samtidigt. Det finns flera alternativ att välja mellan för att kontrollera åtkomsten till delat minne:
- jämför-och-växla-åtgärden som erbjuds via ByteArray-klassens
atomicCompareAndSwapIntAt()
- ochatomicCompareAndSwapLength()
-metoder - de speciella funktionerna som erbjuds med klasserna Mutex och Condition (i flash.concurrent-paketet)
Om du anger att egenskapen ska vara true
kommer det endast att påverka efterföljande kod som skickar denna bytearray till en arbetare. Eventuella kopior av denna bytearray som redan har skickats till en arbetare fortsätter att finnas kvar som en separat kopia.
Om du anger att den här egenskapen ska vara false
när den tidigare var true
, kommer det underliggande minnet för bytearrayen omedelbart att kopieras till ett nytt segment i systemminnet. Denna ByteArray-instans använder därefter det nya underliggande minnet. Därför delas inte det underliggande minnet för denna bytearray med andra arbetare även om det delades tidigare. Om du därefter skickar den här bytearrayen till en arbetare kommer dess underliggande minne att kopieras med ett ByteArray-objekt vars shareable
-egenskap är false
.
Standardvärdet är false.
Implementering
public function get shareable():Boolean
public function set shareable(value:Boolean):void
Relaterade API-element
ByteArray | () | Konstruktor |
public function ByteArray()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skapar en ByteArray-instans som representerar en packad array med byte så att du kan använda metoderna och egenskaperna i klassen för att optimera datalagring och strömmar.
atomicCompareAndSwapIntAt | () | metod |
public function atomicCompareAndSwapIntAt(byteIndex:int, expectedValue:int, newValue:int):int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11.5, AIR 3.5 |
I en enstaka atomisk åtgärd jämförs ett heltalsvärde i denna bytearray med ett annat heltalsvärde och om de matchar växlas dessa byte mot andra värden.
Denna metod är avsedd att användas med en bytearray vars underliggande minne delas mellan flera arbetare (ByteArray-instansens shareable
-egenskap är true
). Följande stegsekvens utförs:
- Läser ett heltalsvärde från den här bytearrayen från och med indexet (mätt i byte) angivet i argumentet
byteIndex
- Jämför det faktiska värdet från den här bytearrayen med värdet som skickas med argumentet
expectedValue
- Om de båda värdena är lika skrivs värdet i argumentet
newValue
i bytearrayen på den plats som anges i parameternbyteIndex
och returnerar värdet som tidigare fanns i dessa byte (värdet som lästes i steg 1) - I annat fall ändras inte innehållet i bytearrayen och metoden returnerar det faktiska värdet som lästes från bytearrayen
Alla dessa steg utförs i en atomisk maskinvarutransaktion. Detta garanterar att inga åtgärder från andra arbetare gör ändringar i innehållet för bytearrayen under jämför-och-växla-åtgärden.
Parametrar
byteIndex:int — indexpositionen (i byte) från vilket heltalet som ska jämföras läses och till vilket newValue -värdet skrivs om jämförelsen resulterar i en matchning. Detta värde måste vara en multipel av 4.
| |
expectedValue:int — värdet som förväntas matcha innehållt för bytearrayen vid det angivna indexet
| |
newValue:int — det nya värdet som ersätter innehållet för bytearrayen vid angivet index om jämförelsen resulterar i en matchning
|
int — det föregående värdet vid den angivna platsen om jämförelsen resulterar i en matchning eller det faktiska värdet från bytearrayen om det faktiska värdet eller det förväntade inte matchar varandra
|
Utlöser
ArgumentError — om byteIndex -värdet inte är en multipel av 4 eller om det är negativt
|
Relaterade API-element
atomicCompareAndSwapLength | () | metod |
public function atomicCompareAndSwapLength(expectedLength:int, newLength:int):int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11.5, AIR 3.5 |
I en enstaka atomisk åtgärd jämförs längden för denna bytearray med ett tillhandhållet värde och om de matchar ändras längden för den här bytearrayen.
Denna metod är avsedd att användas med en bytearray vars underliggande minne delas mellan flera arbetare (ByteArray-instansens shareable
-egenskap är true
). Följande sker:
- Läser
length
-egenskapen för heltalet för ByteArray-instansen - Längden jämförs med det värde som skickas med argumentet
expectedLength
- Om de båda värdena är lika ändras längden för bytearrayen till det värde som skickas som
newLength
-parametern, vilket antingen ökar eller minskar storleken på bytearrayen - I annat fall ändras inte bytearrayen
Alla dessa steg utförs i en atomisk maskinvarutransaktion. Detta garanterar att inga åtgärder från andra arbetare gör ändringar i innehållet för bytearrayen under jämför-och-ändra-storlek-åtgärden.
Parametrar
expectedLength:int — det förväntade värdet för length -egenskapen för ByteArray. Om det angivna värdet och det faktiska värdet matchar kommer bytearrayens längd att ändras.
| |
newLength:int — det nya längdvärdet för bytearrayen om jämförelsen lyckas
|
int — det tidigare length -värdet för ByteArray, oberoende av om den ändrats eller inte
|
Relaterade API-element
clear | () | metod |
public function clear():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Rensar bytearrayens innehåll och nollställer egenskaperna length
och position
. Anrop av metoden frigör explicit minne som används av ByteArray-instansen.
compress | () | metod |
public function compress(algorithm:String):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9 |
Komprimerar bytearrayen. Hela bytearrayen komprimeras. Efter anropet ställs egenskapen length
för ByteArray in på den nya längden. Egenskapen position
ställs in på bytearrayens slut.
Du anger en komprimeringsalgoritm genom att skicka ett värde (som definieras i klassen CompressionAlgorithm) som algorithm
-parameter. Bland de algoritmer som stöds finns följande:
Komprimeringsformatet zlib beskrivs på http://www.ietf.org/rfc/rfc1950.txt.
Deflate-komprimeringsalgoritmen beskrivs på http://www.ietf.org/rfc/rfc1951.txt.
LZMA-komprimeringsalgoritmen beskrivs på http://www.7-zip.org/7z.html.
Dekomprimeringsalgoritmen används i flera komprimeringsformat, till exempel zlib, gzip, en del zip-implementationer och andra. När data komprimeras med ett av dessa komprimeringsformat innehåller komprimeringsformatet, förutom en komprimerad version av originaldata (till exempel .zip-filen), även metadatainformation. Exempel på metadatatyper är filnamn, fildatum/tid, originalstorlek, valfria kommentarer, checksummedata med mera.
När en ByteArray komprimeras med zlib-algoritmen kan till exempel den resulterande ByteArray struktureras i ett visst format. Vissa bytes innehåller metadata om komprimerade data, medan andra bytes innehåller den faktiska komprimerade versionen av ursprungliga data i ByteArray. Som definieras av formatspecifikationen för zlib-komprimerade data komprimeras dessa bytes (det vill säga, den del som innehåller den komprimerade versionen av originaldata) med dekomprimeringsalgoritmen. Dessa byte är därför identiska med resultatet från ett anrop till compress(air.CompressionAlgorithm.DEFLATE)
för ursprunglig ByteArray. Resultatet från compress(air. CompressionAlgorithm.ZLIB)
innehåller extra metainformation medan compress( CompressionAlgorithm.DEFLATE)
-resultatet endast innehåller den komprimerade versionen av ursprungliga ByteArray-data och inget annat.
Om du vill använda dekomprimeringsformatet för att komprimera instansdata från en ByteArray i ett specifikt format som gzip eller zip, kan du därför inte bara anropa compress (CompressionAlgorithm.DEFLATE)
. Du måste skapa en ByteArray som är strukturerad enligt komprimeringsformatets specifikation och som innehåller såväl lämpliga metadata som de komprimerade data som hämtats med deflate-formatet. Om du vill kunna dekomprimera data i ett format som gzip eller zip kan på samma sätt inte bara anropauncompress(CompressionAlgorithm.DEFLATE)
på denna data. Först måste du separera metadata från komprimerade data. Sedan kan du använda dekomprimeringsformatet för att dekomprimera komprimerade data.
Parametrar
algorithm:String (default = NaN ) — Komprimeringsalgoritmen som ska användas vid komprimering. Giltiga värden definieras upp som konstanter i klassen CompressionAlgorithm. Som standard används zlib-formatet. Att anropa compress(CompressionAlgorithm.DEFLATE) har samma effekt som att anropa metoden deflate() . Stöd för LZMA-algoritmen har lagts till för Flash Player 11.3 och AIR 3.3. Du måste ha dessa versioner eller senare för att kunna använda LZMA-komprimering.
|
Relaterade API-element
deflate | () | metod |
public function deflate():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Komprimerar bytearrayen med hjälp av deflate-komprimeringsalgoritmen. Hela bytearrayen komprimeras.
Efter anropet ställs egenskapen length
för ByteArray in på den nya längden. Egenskapen position
ställs in på bytearrayens slut.
Deflate-komprimeringsalgoritmen beskrivs på http://www.ietf.org/rfc/rfc1951.txt.
Om du vill använda dekomprimeringsformatet för att komprimera instansdata från en ByteArray i ett visst format, som gzip eller zip, kan du därför inte bara anropa deflate()
. Du måste skapa en ByteArray som är strukturerad enligt komprimeringsformatets specifikation och som innehåller såväl lämpliga metadata som de komprimerade data som hämtats med deflate-formatet. Om du vill kunna dekomprimera data i ett format som gzip eller zip kan på samma sätt inte bara anropa inflate()
på denna data. Först måste du separera metadata från komprimerade data. Sedan kan du använda dekomprimeringsformatet för att dekomprimera komprimerade data.
Relaterade API-element
inflate | () | metod |
public function inflate():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 10 |
Dekomprimerar bytearrayen med hjälp av deflate-komprimeringsalgoritmen. Denna bytearray måste ha komprimerats med samma algoritm.
Efter anropet ställs egenskapen length
för ByteArray in på den nya längden. Egenskapen position
är inställd på 0.
Deflate-komprimeringsalgoritmen beskrivs på http://www.ietf.org/rfc/rfc1951.txt.
Om du vill kunna avkoda data som har komprimerats i ett format som använder deflate-komprimeringsalgoritmen, till exempel gzip eller zip, fungerar det inte med att inflate()
anropas på en ByteArray som innehåller komprimeringsformatdata. Först måste du separera de metadata som finns som en del i det komprimerade dataformatet från de faktiskt komprimerade data. Mer information finns under metoden compress()
.
Utlöser
IOError — Komprimeringsinformationen är inte giltig data. Den komprimerades inte med samma komprimeringsalgoritm som användes för att komprimera.
|
Relaterade API-element
readBoolean | () | metod |
public function readBoolean():Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett booleskt värde från byteflödet. En enkel byte läses och true
returneras om bytevärdet inte är noll, i annat fall false
.
Boolean — Returnerar true om bytevärdet inte är noll, i annat fall false .
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readByte | () | metod |
public function readByte():int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser en byte med tecken från byteflödet.
Det returnerade värdet är i intervallet -128 till 127.
Returnerarint — Ett heltal från -128 till 127.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readBytes | () | metod |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser så många databyte som anges av parametern length
från byteflödet. Byten läses till ByteArray-objektet som anges av parametern bytes
och skrivs till ByteArray-målobjektet med start vid den position som anges av offset
.
Parametrar
bytes:ByteArray — ByteArray-objektet som data ska läsas till.
| |
offset:uint (default = 0 ) — Förskjutningen (positionen) i bytes där inlästa data ska skrivas.
| |
length:uint (default = 0 ) — Antalet byte som ska läsas. Med standardvärdet 0 läses alla tillgängliga data.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
| |
RangeError — Värdet på angiven förskjutning och längd är tillsammans större än det högsta värdet för ett uint.
|
readDouble | () | metod |
public function readDouble():Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett IEEE 754-flyttal med dubbel precision (64 bitar) från byteflödet.
ReturnerarNumber — Ett flyttal med dubbel precision (64 bitar).
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readFloat | () | metod |
public function readFloat():Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett IEEE 754-flyttal med enkel precision (32 bitar) från byteflödet.
ReturnerarNumber — Ett flyttal med enkel precision (32 bitar).
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readInt | () | metod |
public function readInt():int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett 32-bitars heltal med tecken från byteflödet.
Det returnerade värdet är i intervallet -2147483648 till 2147483647.
Returnerarint — Ett 32-bitars heltal med tecken mellan -2147483648 och 2147483647.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readMultiByte | () | metod |
public function readMultiByte(length:uint, charSet:String):String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser en multibyte-sträng med den angivna längden från byteströmmen med den angivna teckenuppsättningen.
Parametrar
length:uint — Antalet byte från byteflödet som ska läsas.
| |
charSet:String — Strängen som anger teckenuppsättningen som ska användas för att tolka byte. Möjliga teckenuppsättningsträngar är "shift-jis" , "cn-gb" , "iso-8859-1" med flera. En fullständig lista finns i Teckenuppsättningar som stöds.
Obs! Om värdet för |
String — UTF-8-kodad sträng.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readObject | () | metod |
public function readObject():*
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett objekt från bytearrayen, kodat i serialiserat AMF-format.
Returnerar* — Det avserialiserade objektet.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
Relaterade API-element
readShort | () | metod |
public function readShort():int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett 16-bitars heltal med tecken från byteflödet.
Det returnerade värdet är i intervallet -32768 till 32767.
Returnerarint — Ett 16-bitars heltal med tecken mellan -32768 och 32767.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readUnsignedByte | () | metod |
public function readUnsignedByte():uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser en byte utan tecken från byteflödet.
Det returnerade värdet är i intervallet 0 till 255.
Returneraruint — Ett 32-bitars heltal utan tecken mellan 0 och 255.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readUnsignedInt | () | metod |
public function readUnsignedInt():uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett 32-bitars heltal utan tecken från byteflödet.
Det returnerade värdet är i intervallet 0 till 4294967295.
Returneraruint — Ett 32-bitars heltal utan tecken mellan 0 och 4294967295.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readUnsignedShort | () | metod |
public function readUnsignedShort():uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett 16-bitars heltal utan tecken från byteflödet.
Det returnerade värdet är i intervallet 0 till 65535.
Returneraruint — Ett 16-bitars heltal utan tecken mellan 0 och 65535.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readUTF | () | metod |
public function readUTF():String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser en UTF-8-sträng från byteflödet. Strängen antas inledas av typen short utan tecken som visar längden i byte.
ReturnerarString — UTF-8-kodad sträng.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
Relaterade API-element
readUTFBytes | () | metod |
public function readUTFBytes(length:uint):String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser en sekvens med UTF-8-byte som anges av parametern length
från byteflödet och returnerar en sträng.
Parametrar
length:uint — Typen short utan tecken som visar längden på UTF-8-byte.
|
String — En sträng som är komponerad av den angivna längdens UTF-8-byte.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
toJSON | () | metod |
public function toJSON(k:String):*
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11, AIR 3, Flash Lite 4 |
Erbjuder en åsidosättningsbar metod för att anpassa JSON-kodning av värden i ett ByteArray-objekt.
I metoden JSON.stringify()
eftersöks en toJSON()
-metod för varje objekt som flyttas. Om metoden toJSON()
hittas, anropar JSON.stringify()
den för varje värde som upptäcks och anger nyckeln som är kopplad till värdet.
ByteArray erbjuder en standardimplementering av toJSON()
som endast returnerar namnet på klassen. Eftersom innehållet i en ByteArray kräver tolkning, måste klienter som vill exportera ByteArray-objekt till JSON tillhandahålla egna implementeringar. Du kan göra detta genom att omdefiniera metoden toJSON()
på klassprototypen.
Metoden toJSON()
kan returnera alla typer av värden. Om ett objekt returneras kommer stringify()
att repeteras i objektet. Om toJSON()
returnerar en sträng, kommer stringify()
inte att repeteras och genomgången fortsätter.
Parametrar
k:String — Nyckeln i ett nyckel-/värdepar som upptäckts i JSON.stringify() vid genomgång av detta objekt.
|
* — Klassnamnssträngen.
|
Relaterade API-element
toString | () | metod |
public function toString():String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Konverterar bytearrayen till en sträng. Om data i arrayen börjar med ett Unicode-byteordningsmärke respekteras märket i programmet vid konvertering till en sträng. Om System.useCodePage
ställs in på true
betraktar programmet data i arrayen som den aktuella teckentabellen vid konvertering.
String — Strängåtergivningen av bytearrayen.
|
uncompress | () | metod |
public function uncompress(algorithm:String):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dekomprimerar bytearrayen. Efter anropet ställs egenskapen length
för ByteArray in på den nya längden. Egenskapen position
är inställd på 0.
Denna bytearray måste ha komprimerats med samma algoritm som vid dekomprimeringen. Du anger en dekomprimeringsalgoritm genom att skicka ett värde (som definieras i klassen CompressionAlgorithm) som algorithm
-parameter. Bland de algoritmer som stöds finns följande:
Komprimeringsformatet zlib beskrivs på http://www.ietf.org/rfc/rfc1950.txt.
Deflate-komprimeringsalgoritmen beskrivs på http://www.ietf.org/rfc/rfc1951.txt.
LZMA-komprimeringsalgoritmen beskrivs på http://www.7-zip.org/7z.html.
Om du vill kunna avkoda data som komprimerats i ett format som använder en dekomprimeringsalgoritm som gzip eller zip fungerar det inte med att anropauncompress(CompressionAlgorithm.DEFLATE)
på en ByteArray som innehåller formeringsinformationen för komprimeringen. Först måste du separera de metadata som finns som en del i det komprimerade dataformatet från de faktiskt komprimerade data. Mer information finns under metoden compress()
.
Parametrar
algorithm:String (default = NaN ) — Komprimeringsalgoritmen som ska användas vid dekomprimering. Denna måste vara samma komprimeringsalgoritm som användes för att komprimera data. Giltiga värden definieras upp som konstanter i klassen CompressionAlgorithm. Som standard används zlib-formatet. Stöd för LZMA-algoritmen har lagts till för Flash Player 11.3 och AIR 3.3. Du måste ha dessa versioner eller senare för att kunna använda LZMA.
|
Utlöser
IOError — Komprimeringsinformationen är inte giltig data. Den komprimerades inte med samma komprimeringsalgoritm som användes för att komprimera.
|
Relaterade API-element
writeBoolean | () | metod |
public function writeBoolean(value:Boolean):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skriver ett booleskt värde. En enkel byte skrivs i enlighet med parametern value
, antingen 1 om värdet är true
eller 0 om värdet är false
.
Parametrar
value:Boolean — Ett booleskt värde, som fastställer vilken byte som skrivs. Om parametern är true skriver metoden 1. Om den är false skriver metoden 0.
|
writeByte | () | metod |
public function writeByte(value:int):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skriver en byte till byteflödet.
Parameterns låga 8 bitar används. De höga 24 bitarna ignoreras.
Parametrar
value:int — Ett 32-bitars heltal. De låga 8 bitarna skrivs till byteflödet.
|
writeBytes | () | metod |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skriver en sekvens med det antal byte som anges av parametern length
från den angivna bytearrayen bytes
. Sekvensen börjar så många byte in i byteflödet som anges av parametern offset
(nollbaserat indexvärde).
Om parametern length
utelämnas används standardlängden 0 och metoden skriver hela bufferten med början på offset
. Om parametern offset
också utelämnas skrivs hela bufferten.
Om parametern offset
eller parameternlength
är utanför intervallet kläms de ihop i början och slutet av bytes
-arrayen.
Parametrar
bytes:ByteArray — ByteArray-objektet.
| |
offset:uint (default = 0 ) — Ett nollbaserat indexvärde som visar positionen i den array där skrivningen ska börja.
| |
length:uint (default = 0 ) — Ett heltal utan tecken som visar hur långt in i bufferten som det ska skrivas.
|
writeDouble | () | metod |
writeFloat | () | metod |
writeInt | () | metod |
writeMultiByte | () | metod |
public function writeMultiByte(value:String, charSet:String):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skriver en flerbytesträng till byteflödet med den angivna teckenuppsättningen.
Parametrar
value:String — Det strängvärde som ska skrivas.
| |
charSet:String — Strängen som anger den teckenuppsättning som ska användas. Möjliga teckenuppsättningsträngar är "shift-jis" , "cn-gb" , "iso-8859-1" med flera. En fullständig lista finns i Teckenuppsättningar som stöds.
|
writeObject | () | metod |
writeShort | () | metod |
public function writeShort(value:int):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skriver ett 16-bitars heltal till byteflödet. Parameterns låga 16 bitar används. De höga 16 bitarna ignoreras.
Parametrar
value:int — 32-bitars heltal vars låga 16 bitar skrivs till byteflödet.
|
writeUnsignedInt | () | metod |
writeUTF | () | metod |
public function writeUTF(value:String):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skriver en UTF-8-sträng till byteflödet. Först skrivs längden på en UTF-8-sträng i byte, som ett 16-bitars heltal, följt av de byte som representerar strängens tecken.
Parametrar
value:String — Det strängvärde som ska skrivas.
|
Utlöser
RangeError — Om längden är större än 65535.
|
writeUTFBytes | () | metod |
public function writeUTFBytes(value:String):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skriver en UTF-8-sträng till byteflödet. Liknar writeUTF()
-metoden men writeUTFBytes()
använder inte ett ord på 16 bitar som prefix i strängen.
Parametrar
value:String — Det strängvärde som ska skrivas.
|
ByteArrayExample
-klassen för att skriva ett booleskt värde och motsvarigheten i flyttal med dubbelprecision av pi till en bytearray. Detta visas i följande steg:
- Deklarera en ny ByteArray-objektinstans
byteArr
. - Skriv motsvarigheten i byte av det booleska värdet
false
och kontrollera sedan längden och läs tillbaka den. - Skriv motsvarigheten i flyttal med dubbel precision av det matematiska värdet av pi.
- Läs tillbaka var och en av de nio byten som skrivits till bytearrayen.
Obs! När trace()
anropas i en byte skrivs decimalmotsvarigheten ut av de byte som är lagrat i bytearrayen.
Lägg märke till att ett kodsegment läggs till i slutet för att bevaka fel vid filslut och se till att byteflödet inte läses förbi slutet av filen.
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. } } } }
Tue Jun 12 2018, 01:40 PM Z