Paket | flash.utils |
Sınıf | public class ByteArray |
Miras Alma | ByteArray Object |
Uygular | IDataInput, IDataOutput |
Alt Sınıflar | ByteArrayAsset |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Not: ByteArray sınıfı, bayt düzeyindeki verilere erişim ihtiyacı duyan gelişmiş geliştiriciler içindir.
Bellek içi veri paketlenmiş bir bayt dizisidir (veri türünün en sıkıştırılmış temsili), ancak ByteArray sınıfının bir örneği standart ActionScript []
(dizi erişimi) operatörleriyle işlenebilir. URLStream ve Socket sınıflarındaki yöntemlere benzer yöntemler kullanılarak bellek içi dosya olarak okunabilir ve yazılabilir.
Ayrıca, Eylem Mesajı Biçimi (AMF) nesnesi serileştirmesinin yanı sıra, zlib, deflate ve Izma sıkıştırması ve sıkıştırmanın açılmasını da destekler.
Bir ByteArray nesnesi, kendi yedekleme belleğini, shareable
özelliğini true
şeklinde ayarlayarak birden fazla worker (işçi) örneği arasında paylaşabilir.
ByteArray sınıfının olası kullanımları aşağıdakileri içerir:
- Bir sunucuya bağlanmak için özel bir protokol oluşturma.
- Kendi URLEncoder/URLDecoder'inizi yazma.
- Kendi AMF/Remoting paketinizi yazma.
- Veri türlerini kullanarak verilerinizin boyutunu en iyileştirme.
- Bir dosyadan yüklenen ikili verilerle çalışma.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
bytesAvailable : uint [salt okunur]
Bayt dizisindeki geçerli konumdan dizinin sonuna kadar okunabilir verilerin bayt sayısı. | ByteArray | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
defaultObjectEncoding : uint [statik]
ByteArray sınıfının Varsayılan nesne kodlamasını, yeni bir ByteArray örneğinde kullanmak üzere belirtir. | ByteArray | ||
endian : String
Veriye yönelik bayt sırasını değiştirir veya okur (Endian.BIG_ENDIAN veya Endian.LITTLE_ENDIAN). | ByteArray | ||
length : uint
ByteArray nesnesinin bayt olarak uzunluğu. | ByteArray | ||
objectEncoding : uint
Bir ByteArray örneğine yazarken veya ByteArray örneğini okurken ActionScript 3.0, ActionScript 2.0 veya ActionScript 1.0 biçimlerinden hangisinin kullanılacağını belirlemek için kullanılır. | ByteArray | ||
position : uint
Dosya işaretçisinin geçerli konumunu bayt olarak ByteArray nesnesine taşır veya döndürür. | ByteArray | ||
shareable : Boolean
Bayt dizisinin temel belleğinin paylaşılabilir olup olmadığını belirtir. | ByteArray |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Veri saklama ve akışınızı bir ByteArray sınıfının yöntemleri ile en iyileştirilmesi için paketlenmiş bir bayt dizisini temsil eden bir ByteArray örneği oluşturur. | ByteArray | ||
Tek bir atomik işlemde, bu bayt dizisindeki bir tamsayı değerini başka bir tamsayı değeriyle karşılaştırır, bunlar eşleşirse, bu baytları başka bir değerle takas eder. | ByteArray | ||
Tek bir atomik işlemde, bu bayt dizisinin uzunluğunu, sağlanan bir değerle karşılaştırır ve bunlar eşleşirse, bu bayt dizisinin uzunluğunu değiştirir. | ByteArray | ||
Bayt dizisinin içeriklerini temizler ve length ve position özelliklerini 0 değerine getirir. | ByteArray | ||
Bayt dizisini sıkıştırır. | ByteArray | ||
Deflate sıkıştırma algoritmasını kullanarak bayt dizisini sıkıştırır. | ByteArray | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Deflate sıkıştırma algoritmasını kullanarak bayt dizisinin sıkıştırmasını açar. | ByteArray | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
Bayt akışından bir Boolean değeri okur. | ByteArray | ||
Bayt akışından işaretli bir bayt okur. | ByteArray | ||
Bayt akışından uzunluk parametresinde belirtilen sayıda veri baytı okur. | ByteArray | ||
Bayt akışından bir IEEE 754 çift kesinlikli (64 bit) kayar nokta sayısı okur. | ByteArray | ||
Bayt akışından bir IEEE 754 tek kesinlikli (32 bit) kayar nokta sayısı okur. | ByteArray | ||
Bayt akışından işaretli bir 32 bit tam sayı okur. | ByteArray | ||
Bayt akışından, belirtilen karakter kümesini kullanarak belirtilen uzunlukta çok baytlı bir dize okur. | ByteArray | ||
readObject():*
Bayt dizisinden AMF serileştirilmiş biçimde kodlanmış bir nesne okur. | ByteArray | ||
Bayt akışından işaretli bir 16 bit tam sayı okur. | ByteArray | ||
Bayt akışından işaretsiz bir bayt okur. | ByteArray | ||
Bayt akışından işaretsiz bir 32 bit tam sayı okur. | ByteArray | ||
Bayt akışından işaretsiz bir 16 bit tam sayı okur. | ByteArray | ||
Bayt akışından bir UTF-8 dizesi okur. | ByteArray | ||
Bayt akışından length parametresi tarafından belirtilen bir sıra UTF-8 baytı okur ve bir dize döndürür. | ByteArray | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bir ByteArray nesnesindeki değerlerin JSON kodlamasını özelleştirmek için geçersiz kılınabilir bir yöntem sağlar. | ByteArray | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Bayt dizisini bir dizeye dönüştürür. | ByteArray | ||
Bayt dizisinin sıkıştırmasını açar. | ByteArray | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Boolean değeri yazar. | ByteArray | ||
Bayt akışına bayt yazar. | ByteArray | ||
Belirtilen bayt dizisinden, bytes öğesinden ve başlangıç offset (sıfır temelli dizin) baytlarından, bayt akışına bir length baytları sırası yazar. | ByteArray | ||
Bayt akışına IEEE 754 çift kesinlikli (64 bit) kayar nokta sayısı yazar. | ByteArray | ||
Bayt akışına IEEE 754 tek keskinlikli (32 bit) kayar nokta sayısı yazar. | ByteArray | ||
Bayt akışına 32 bit işaretli tam sayı yazar. | ByteArray | ||
Belirtilen karakter kümesini kullanarak bayt akışına çok baytlı dize yazar. | ByteArray | ||
Bayt dizisine AMF serileştirilmiş biçimde bir nesne yazar. | ByteArray | ||
Bayt akışına 16 bit tam sayı yazar. | ByteArray | ||
Bayt akışına 32 bit işaretsiz tam sayı yazar. | ByteArray | ||
Bayt akışına UTF-8 dizesi yazar. | ByteArray | ||
Bayt akışına UTF-8 dizesi yazar. | ByteArray |
bytesAvailable | özellik |
bytesAvailable:uint
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt dizisindeki geçerli konumdan dizinin sonuna kadar okunabilir verilerin bayt sayısı.
Geçerli veri okuduğunuzdan emin olmak için, bir ByteArray nesnesine eriştiğiniz her seferde, okuma yöntemleriyle birlikte bytesAvailable
özelliğini kullanın.
Uygulama
public function get bytesAvailable():uint
defaultObjectEncoding | özellik |
defaultObjectEncoding:uint
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ByteArray sınıfının Varsayılan nesne kodlamasını, yeni bir ByteArray örneğinde kullanmak üzere belirtir. Yeni bir ByteArray örneği oluşturduğunuzda, söz konusu örnekteki kodlama defaultObjectEncoding
değeriyle başlar. defaultObjectEncoding
özelliği ObjectEncoding.AMF3
'e başlatılır.
Bir nesne ikili veriye yazıldığında veya veriden okunduğunda; ActionScript 3.0, ActionScript 2.0, ve ActionScript 1.0 biçimlerinden hangisinin kullanılacağını belirlemek için objectEncoding
değeri kullanılır. Değer bir ObjectEncoding sınıfı sabitidir.
Uygulama
public static function get defaultObjectEncoding():uint
public static function set defaultObjectEncoding(value:uint):void
İlgili API Öğeleri
endian | özellik |
endian:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Veriye yönelik bayt sırasını değiştirir veya okur (Endian.BIG_ENDIAN
veya Endian.LITTLE_ENDIAN
). Varsayılan değer BIG_ENDIAN
şeklindedir.
Uygulama
public function get endian():String
public function set endian(value:String):void
İlgili API Öğeleri
length | özellik |
length:uint
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ByteArray nesnesinin bayt olarak uzunluğu.
Uzunluk geçerli uzunluktan daha büyük bir değere ayarlanırsa, bayt dizisinin sağ tarafı sıfırlarla doldurulur.
Uzunluk geçerli uzunluktan daha küçük bir değere ayarlanırsa bayt dizisi kesilir.
Uygulama
public function get length():uint
public function set length(value:uint):void
objectEncoding | özellik |
objectEncoding:uint
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir ByteArray örneğine yazarken veya ByteArray örneğini okurken ActionScript 3.0, ActionScript 2.0 veya ActionScript 1.0 biçimlerinden hangisinin kullanılacağını belirlemek için kullanılır. Değer bir ObjectEncoding sınıfı sabitidir.
Uygulama
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
İlgili API Öğeleri
position | özellik |
position:uint
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dosya işaretçisinin geçerli konumunu bayt olarak ByteArray nesnesine taşır veya döndürür. Bu, okuma yöntemine gelen bir sonraki çağrının okumayı başlattığı veya yazma yöntemine gelen bir sonraki çağrının yazmayı başlattığı noktadır.
Uygulama
public function get position():uint
public function set position(value:uint):void
shareable | özellik |
shareable:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11.5, AIR 3.5 |
Bayt dizisinin temel belleğinin paylaşılabilir olup olmadığını belirtir. Paylaşılabilir bir bayt dizisi için, bayt dizisine başvuran tüm worker (işçi) öğelerindeki ByteArray örneklerinin tamamı temel sistem belleğinin aynısını kullanır. Varsayılan değer false
olup temel belleğin worker (işçi) öğeleri arasında paylaşılmadığını belirtir.
Ayrıca bu özellik, çalışma zamanının Worker.setSharedProperty()
yöntemi veya MessageChannel.send()
yöntemi kullanılarak bir worker (işçi) öğesine iletilmesi durumunda bu bayt dizisi ile ne yaptığını etkiler:
- Not shareable: Bu özellik
false
olursa, bayt dizisi bir worker (işçi) öğesine iletildiğinde çalışma zamanı, yinelenen bayt dizisinin içeriklerinin depolanacağı yeni bir bellek kesiminin ayrılması da dahil, bayt dizisinin tam bir kopyasını oluşturur. - Shareable: Bu özellik
true
olursa, bayt dizisi bir worker (işçi) öğesine iletildiğinde çalışma zamanı, hem ikinci worker (işçi) için oluşturulan yeni ByteArray örneğinin hem de orijinal ByteArray örneğinin içerikleri için depolama arabelleği olarak aynı temel belleği kullanır. Temelde her iki ByteArray örneği de aynı temel bayt dizisine referans içerir.
Eşzamanlı olarak birden çok worker (işçi) öğesinden paylaşılan bir bayt dizisine erişme yeteneği, her iki worker (işçi) öğesinin aynı anda bayt dizisinin temel belleğini işlediği istenmeyen bir durumla sonuçlanabilir. Paylaşılan belleğe erişimi kontrol etmek için birkaç mekanizma kullanabilirsiniz:
- ByteArray sınıfının
atomicCompareAndSwapIntAt()
veatomicCompareAndSwapLength()
yöntemleri tarafından sağlanan karşılaştırma ve takas mekanizmaları - Mutex ve Condition sınıfları tarafından sağlanan özel mekanizmalar (flash.concurrent paketinde)
Bu özelliğin true
olarak ayarlanması yalnızca bu bayt dizisini bir worker (işçi) öğesine ileten sonraki kodu etkiler. Önceden bir worker (işçi) öğesine iletilen bu bayt dizisinin herhangi bir kopyası, ayrı bir kopya olarak var olmaya devam eder.
Bu özelliği true
değerinden false
değerine değiştirirseniz, bayt dizisi için temel bellek hemen sistem belleğinin yeni bir kesimine kopyalanır. Bu ByteArray örneği, bu noktadan itibaren yeni temel belleği kullanır. Sonuç olarak bu bayt dizisinin temel belleği önceden paylaşılmış olsa da artık diğer worker (işçi) öğeleriyle paylaşılmaz. Sonradan bu bayt dizisini bir worker (işçi) öğesine iletirseniz, bunun temel belleği, shareable
özelliği false
olan herhangi bir ByteArray nesnesinde olduğu gibi kopyalanır.
Varsayılan değer şudur false.
Uygulama
public function get shareable():Boolean
public function set shareable(value:Boolean):void
İlgili API Öğeleri
ByteArray | () | Yapıcı |
public function ByteArray()
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Veri saklama ve akışınızı bir ByteArray sınıfının yöntemleri ile en iyileştirilmesi için paketlenmiş bir bayt dizisini temsil eden bir ByteArray örneği oluşturur.
atomicCompareAndSwapIntAt | () | yöntem |
public function atomicCompareAndSwapIntAt(byteIndex:int, expectedValue:int, newValue:int):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11.5, AIR 3.5 |
Tek bir atomik işlemde, bu bayt dizisindeki bir tamsayı değerini başka bir tamsayı değeriyle karşılaştırır, bunlar eşleşirse, bu baytları başka bir değerle takas eder.
Bu yöntem, temel belleği birden çok worker (işçi) öğesi arasında paylaşılan bir bayt dizisi ile kullanılmak üzere tasarlanmıştır (ByteArray örneğinin shareable
özelliği true
'dur). Şu adım sırasını gerçekleştirir:
byteIndex
argümanında belirtilen dizinden (bayt olarak ölçülür) başlayarak bu bayt dizisinden bir tamsayı değerini okur- Bu bayt dizisindeki gerçek değeri,
expectedValue
argümanında iletilen değerle karşılaştırır - İki değer eşitse,
newValue
argümanındaki değeri,byteIndex
parametresi tarafından belirtilen konumdaki bayt dizisine yazar ve önceden bu bayt'larda bulunan değeri (1. adımda okunan değer) döndürür. - Aksi takdirde, bayt dizisinin içerikleri değiştirilmez ve yöntem, bayt dizisinden okunan gerçek değeri döndürür.
Tüm bu adımlar, tek bir atomik donanım işleminde gerçekleştirilir. Bu, diğer worker (işçi) öğelerindeki işlemlerin, karşılaştırma ve takas işlemi sırasında bayt dizisi içerikleri üzerinde bir değişiklik yapmamasını garanti eder.
Parametreler
byteIndex:int — karşılaştırılacak tamsayının okunduğu (bayt cinsinden) ve karşılaştırma sonucu bir eşleşme ile sonuçlanırsa newValue değerinin yazıldığı dizin konumu. Bu değer 4'ün katı olmalıdır.
| |
expectedValue:int — belirtilen dizinde bayt dizisinin içerikleriyle eşleşmesi beklenen değer
| |
newValue:int — karşılaştırma bir eşleşme ile sonuçlanırsa, belirtilen dizinde bayt dizisinin içeriklerinin yerini alan yeni değer
|
int — karşılaştırma bir eşleşme ile sonuçlanırsa belirtilen konumda önceki değer veya gerçek değer ve beklenen değer eşleşmezse bayt dizisindeki gerçek değer
|
Atar
ArgumentError — byteIndex değeri 4'ün katı değilse veya negatifse
|
İlgili API Öğeleri
atomicCompareAndSwapLength | () | yöntem |
public function atomicCompareAndSwapLength(expectedLength:int, newLength:int):int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11.5, AIR 3.5 |
Tek bir atomik işlemde, bu bayt dizisinin uzunluğunu, sağlanan bir değerle karşılaştırır ve bunlar eşleşirse, bu bayt dizisinin uzunluğunu değiştirir.
Bu yöntem, temel belleği birden çok worker (işçi) öğesi arasında paylaşılan bir bayt dizisi ile kullanılmak üzere tasarlanmıştır (ByteArray örneğinin shareable
özelliği true
'dur). Aşağıdakileri yapar:
- ByteArray örneğinin tamsayı
length
özelliğini okur - Uzunluğu,
expectedLength
argümanında iletilen değerle karşılaştırır - İki değer eşitse, bayt dizisinin boyutunu büyüterek veya azaltarak, bayt dizisinin uzunluğunu,
newLength
parametresi olarak iletilen değerle değiştirir. - Aksi takdirde bayt dizisi değiştirilmez.
Tüm bu adımlar, tek bir atomik donanım işleminde gerçekleştirilir. Bu, diğer worker (işçi) öğelerindeki işlemlerin, karşılaştırma ve yeniden boyutlandırma işlemi sırasında bayt dizisi içerikleri üzerinde bir değişiklik yapmamasını garanti eder.
Parametreler
expectedLength:int — ByteArray öğesinin length özelliğinin beklenen değeri. Belirtilen değer ve gerçek değer eşleşirse, bayt dizisinin uzunluğu değiştirilir.
| |
newLength:int — karşılaştırma başarılı olursa, bayt dizisi için yeni uzunluk değeri
|
int — değiştirilip değiştirilmediğine bakılmaksızın, ByteArray öğesinin önceki length değeri
|
İlgili API Öğeleri
clear | () | yöntem |
public function clear():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Bayt dizisinin içeriklerini temizler ve length
ve position
özelliklerini 0 değerine getirir. Bu yöntemin çağrılması, ByteArray örneği tarafından kullanılan bellekte açıkça yer açar.
compress | () | yöntem |
public function compress(algorithm:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Bayt dizisini sıkıştırır. Bayt dizisinin tamamı sıkıştırılır. Çağrıdan sonra, ByteArray öğesinin length
özelliği yeni uzunluğa ayarlanır. position
özelliği bayt dizisinin sonuna ayarlanır.
Bir değeri (CompressionAlgorithm sınıfında tanımlanan) algorithm
parametresi şeklinde ileterek bir sıkıştırma algoritmasını belirtirsiniz. Desteklenen algoritmalar arasında aşağıdakiler bulunur:
Zlib sıkıştırılmış veri biçimi açıklaması için, bkz. http://www.ietf.org/rfc/rfc1950.txt
Deflate sıkıştırma algoritması açıklaması için, bkz. http://www.ietf.org/rfc/rfc1951.txt.
lzma sıkıştırma algoritması açıklaması için bkz. http://www.7-zip.org/7z.html.
Deflate sıkıştırma algoritması zlib, gzip ve bazı zip uygulamaları ve diğerleri gibi çeşitli sıkıştırma biçimlerinde kullanılır. Veri söz konusu sıkıştırma biçimlerinden biri kullanılarak sıkıştırıldığında, orijinal verinin sıkıştırılmış versiyonunun saklanmasının yanı sıra sıkıştırma biçimi verisi (örneğin, .zip dosyası) meta veri bilgisini de içerir. Çeşitli dosya biçimlerine dahil edilen meta veri türlerinden bazıları dosya adı, dosyanın değiştirilme tarihi/saati, orijinal dosya boyutu, isteğe bağlı yorumlar, sağlama toplamı verisi ve daha fazlasıdır.
Örneğin, bir ByteArray zlib algoritması kullanılarak sıkıştırıldığında, ortaya çıkan ByteArray belirli bir biçimde yapılandırılır. Belirli baytlar sıkıştırılan veri hakkında meta verisi içerirken, diğer baytlar orijinal ByteArray verisinin gerçek sıkıştırılmış versiyonunu içerir. Zlib sıkıştırılmış veri biçimi belirtimi tarafından tanımlandığı gibi, söz konusu baytlar (orijinal verinin sıkıştırılmış versiyonunu içeren bölüm) deflate algoritması kullanılarak sıkıştırılır. Sonuç olarak bu baytlar, orijinal ByteArray üzerinde compress(air.CompressionAlgorithm.DEFLATE)
yöntemine yapılan çağrının sonucuyla aynıdır. Ancak, compress(air. CompressionAlgorithm.ZLIB)
sonucu ekstra meta verisi içerirken, compress(CompressionAlgorithm.DEFLATE)
sonucu yalnızca orijinal bir ByteArray verisinin sıkıştırılmış versiyonunu içerir.
Bir ByteArray örneği verisini gzip veya zip gibi belirli bir biçimde sıkıştırmak üzere deflate biçimini kullanmak için compress(CompressionAlgorithm.DEFLATE)
yöntemini çağırmanız yeterli olmaz. Deflate biçimi kullanılarak elde edilen sıkıştırılmış verinin yanında uygun meta veri de dahil olmak üzere, biçimin belirtimine uygun şekilde yapılandırılmış bir ByteArray oluşturmanız gerekir. Aynı şekilde, gzip veya zip gibi bir biçimde sıkıştırılmış veri kodunu çözmek için, söz konusu verinin üzerine uncompress(CompressionAlgorithm.DEFLATE)
çağırmanız yeterli olmaz. İlk olarak, meta verisini sıkıştırılmış veriden ayırmanız gerekir, bunun ardından sıkıştırılmış verinin sıkıştırmasını açmak için deflate biçimini kullanabilirsiniz.
Parametreler
algorithm:String (default = NaN ) — Sıkıştırırken kullanılacak sıkıştırma algoritması. Geçerli değerler, CompressionAlgorithm sınıfında sabitler olarak tanımlanır. Varsayılan zlib biçimi kullanmaktır. compress(CompressionAlgorithm.DEFLATE) yönteminin çağrılması, deflate() yönteminin çağrılmasıyla aynı etkiyi yapar. lzma algoritması desteği Flash Player 11.3 ve AIR 3.3 için eklendi. lzma sıkıştırmayı kullanmak için bu oynatıcı sürümlerine veya daha yeni sürümlere sahip olmalısınız.
|
İlgili API Öğeleri
deflate | () | yöntem |
public function deflate():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Deflate sıkıştırma algoritmasını kullanarak bayt dizisini sıkıştırır. Bayt dizisinin tamamı sıkıştırılır.
Çağrıdan sonra, ByteArray öğesinin length
özelliği yeni uzunluğa ayarlanır. position
özelliği bayt dizisinin sonuna ayarlanır.
Deflate sıkıştırma algoritması açıklaması için, bkz. http://www.ietf.org/rfc/rfc1951.txt.
Bir ByteArray örneği verisini gzip veya zip gibi belirli bir biçimde sıkıştırmak üzere deflate biçimini kullanmak için deflate()
yöntemini çağırmanız yeterli olmaz. Deflate biçimi kullanılarak elde edilen sıkıştırılmış verinin yanında uygun meta veri de dahil olmak üzere, biçimin belirtimine uygun şekilde yapılandırılmış bir ByteArray oluşturmanız gerekir. Aynı şekilde, gzip veya zip gibi bir biçimde sıkıştırılmış veri kodunu çözmek için, söz konusu verinin üzerine inflate()
yöntemini çağırmanız yeterli olmaz. İlk olarak, meta verisini sıkıştırılmış veriden ayırmanız gerekir, bunun ardından sıkıştırılmış verinin sıkıştırmasını açmak için deflate biçimini kullanabilirsiniz.
İlgili API Öğeleri
inflate | () | yöntem |
public function inflate():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 10 |
Deflate sıkıştırma algoritmasını kullanarak bayt dizisinin sıkıştırmasını açar. Bayt dizisi aynı algoritma kullanılarak sıkıştırılmış olmalıdır.
Çağrıdan sonra, ByteArray öğesinin length
özelliği yeni uzunluğa ayarlanır. position
özelliği 0 olarak ayarlanır.
Deflate sıkıştırma algoritması açıklaması için, bkz. http://www.ietf.org/rfc/rfc1951.txt.
gzip veya zip biçimindeki veriler gibi deflate sıkıştırma algoritması kullanan bir biçimde sıkıştırılmış verinin kodunu çözmek için, sıkıştırma formasyonu verisini içeren bir ByteArray üzerinde inflate()
yönteminin çağrılması işe yaramayacaktır. Öncelikle sıkıştırılmış veri biçiminin bir parçası olarak dahil edilen meta verisini gerçek sıkıştırılmış veriden ayırmanız gerekir. Daha fazla bilgi için, compress()
yöntemi açıklamasına bakın.
Atar
IOError — Veri geçerli sıkıştırılmış veri değil, sıkıştırmak için kullanılacak sıkıştırma algoritmasıyla sıkıştırılmamış.
|
İlgili API Öğeleri
readBoolean | () | yöntem |
public function readBoolean():Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından bir Boolean değeri okur. Tek bir bayt okunur, bayt sıfır olmayansa true
, aksi halde false
döndürülür.
Boolean — Bayt sıfır olmayansa true , aksi halde false döndürür.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readByte | () | yöntem |
public function readByte():int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından işaretli bir bayt okur.
Döndürülen değer -128 ile 127 aralığındadır.
Döndürürint — -128 ve 127 arasında bir tam sayı.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readBytes | () | yöntem |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından length
parametresinde belirtilen sayıda veri baytı okur. Baytlar bytes
parametresi tarafından belirtilen ByteArray nesnesine okunur ve offset
tarafından belirtilen konumdan başlayarak hedef ByteArray içine yazılır.
Parametreler
bytes:ByteArray — Verinin içine okunacağı ByteArray nesnesi.
| |
offset:uint (default = 0 ) — Okuma verisinin bytes öğesinde yazılacağı uzaklık (konum).
| |
length:uint (default = 0 ) — Okunacak bayt sayısı. Varsayılan 0 değeri mevcut tüm verilerin okunmasına neden olur.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
| |
RangeError — Kenardan uzaklık ve uzunluğun değerinin toplam değeri bir uint öğesine ilişkin maksimum değerden daha büyüktür.
|
readDouble | () | yöntem |
public function readDouble():Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından bir IEEE 754 çift kesinlikli (64 bit) kayar nokta sayısı okur.
DöndürürNumber — Çift kesinlikli (64 bit) kayar nokta sayısı.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readFloat | () | yöntem |
public function readFloat():Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından bir IEEE 754 tek kesinlikli (32 bit) kayar nokta sayısı okur.
DöndürürNumber — Tek kesinlikli (32 bit) kayar nokta sayısı.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readInt | () | yöntem |
public function readInt():int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından işaretli bir 32 bit tam sayı okur.
Döndürülen değer -2147483648 ile 2147483647 aralığındadır.
Döndürürint — -2147483648 ile 2147483647 arasında işaretli bir 32 bit tam sayı.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readMultiByte | () | yöntem |
public function readMultiByte(length:uint, charSet:String):String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından, belirtilen karakter kümesini kullanarak belirtilen uzunlukta çok baytlı bir dize okur.
Parametreler
length:uint — Okunacak bayt akışından gelen bayt sayısı.
| |
charSet:String — Baytları yorumlamak için kullanılacak karakter kümesini gösteren dize. Olası karakter kümesi dizeleri "shift-jis" , "cn-gb" , "iso-8859-1" ve diğerlerini içerir. Tam liste için, bkz. Desteklenen Karakter Kümeleri.
Not: |
String — UTF-8 kodlanmış dize.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readObject | () | yöntem |
readShort | () | yöntem |
public function readShort():int
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından işaretli bir 16 bit tam sayı okur.
Döndürülen değer -32768 ile 32767 aralığındadır.
Döndürürint — -32768 ile 32767 arasında işaretli bir 16 bit tam sayı.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readUnsignedByte | () | yöntem |
public function readUnsignedByte():uint
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından işaretsiz bir bayt okur.
Döndürülen değer 0 ile 255 aralığındadır.
Döndürüruint — 0 ile 255 arasında işaretli 32 bit bir tam sayı.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readUnsignedInt | () | yöntem |
public function readUnsignedInt():uint
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından işaretsiz bir 32 bit tam sayı okur.
Döndürülen değer 0 ile 4294967295 aralığındadır.
Döndürüruint — 0 ile 4294967295 arasında işaretsiz bir 32 bit tam sayı.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readUnsignedShort | () | yöntem |
public function readUnsignedShort():uint
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından işaretsiz bir 16 bit tam sayı okur.
Döndürülen değer 0 ile 65535 aralığındadır.
Döndürüruint — 0 ile 65535 arasında işaretsiz bir 16 bit tam sayı.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
readUTF | () | yöntem |
public function readUTF():String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından bir UTF-8 dizesi okur. Uzunluğu bayt olarak gösteren işaretsiz bir kısa değişkenin dizeye önek yapıldığı varsayılır.
DöndürürString — UTF-8 kodlanmış dize.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
İlgili API Öğeleri
readUTFBytes | () | yöntem |
public function readUTFBytes(length:uint):String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışından length
parametresi tarafından belirtilen bir sıra UTF-8 baytı okur ve bir dize döndürür.
Parametreler
length:uint — UTF-8 baytlarının uzunluğunu gösteren işaretsiz bir kısa.
|
String — Belirtilen uzunluktaki UTF-8 baytlarından oluşan bir dize.
|
Atar
EOFError — Okunacak yeterli veri mevcut değil.
|
toJSON | () | yöntem |
public function toJSON(k:String):*
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11, AIR 3, Flash Lite 4 |
Bir ByteArray nesnesindeki değerlerin JSON kodlamasını özelleştirmek için geçersiz kılınabilir bir yöntem sağlar.
JSON.stringify()
yöntemi, geçtiği her nesnede bir toJSON()
yöntemi arar. toJSON()
yöntemi bulunursa JSON.stringify()
yöntemi, karşılaştığı her bir değer için onu çağırır ve değerle eşleşen tuşu iletir.
ByteArray, toJSON()
öğesinin yalnızca sınıf adını döndüren bir varsayılan uygulamasını sağlar. Herhangi bir ByteArray öğesinin içeriği yorumlama gerektirdiğinden, ByteArray nesnelerini JSON kodlamasına dışa aktarmak isteyen istemcilerin kendi uygulamalarını sağlamaları gereklidir. toJSON()
yöntemini sınıf prototipinde yeniden tanımlayarak bunu gerçekleştirebilirsiniz.
toJSON()
yöntemi herhangi bir türde değer döndürebilir. Bir nesne döndürürse, stringify()
o nesne içinde kendi kendini yineler. toJSON()
bir dize döndürürse, stringify()
kendi kendini yinelemez ve geçişine devam eder.
Parametreler
k:String — JSON.stringify() yönteminin bu nesneyi geçişinde karşılaştığı bir tuş/değer çiftinin tuşu.
|
* — Sınıf adı dizesi.
|
İlgili API Öğeleri
toString | () | yöntem |
public function toString():String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt dizisini bir dizeye dönüştürür. Dizideki veri bir Unicode bayt sırası işaretiyle başlıyorsa, uygulama dizeye dönüştürürken söz konusu işareti dikkate alır. System.useCodePage
true
olarak ayarlanırsa, uygulama dönüştürme sırasında dizideki veriye geçerli sistem kodu sayfasındaymış gibi davranır.
String — Bayt dizisinin dize temsili.
|
uncompress | () | yöntem |
public function uncompress(algorithm:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt dizisinin sıkıştırmasını açar. Çağrıdan sonra, ByteArray öğesinin length
özelliği yeni uzunluğa ayarlanır. position
özelliği 0 olarak ayarlanır.
Bayt dizisi sıkıştırmayı kaldırma ile aynı algoritma kullanılarak sıkıştırılmış olmalıdır. Bir değeri (CompressionAlgorithm sınıfında tanımlanan) algorithm
parametresi şeklinde ileterek bir sıkıştırmayı kaldırma algoritmasını belirtirsiniz. Desteklenen algoritmalar arasında aşağıdakiler bulunur:
Zlib sıkıştırılmış veri biçimi açıklaması için, bkz. http://www.ietf.org/rfc/rfc1950.txt
Deflate sıkıştırma algoritması açıklaması için, bkz. http://www.ietf.org/rfc/rfc1951.txt.
lzma sıkıştırma algoritması açıklaması için bkz. http://www.7-zip.org/7z.html.
Gzip veya zip biçimli veriler gibi deflate sıkıştırma algoritması kullanan bir biçimde sıkıştırılmış verinin kodunu çözmek için, sıkıştırma formasyonu verisini içeren bir ByteArray üzerine uncompress(CompressionAlgorithm.DEFLATE)
çağırmak işe yaramayacaktır. Öncelikle sıkıştırılmış veri biçiminin bir parçası olarak dahil edilen meta verisini gerçek sıkıştırılmış veriden ayırmanız gerekir. Daha fazla bilgi için, compress()
yöntemi açıklamasına bakın.
Parametreler
algorithm:String (default = NaN ) — Sıkıştırmayı açmak için kullanılacak sıkıştırma algoritması. Veriyi sıkıştırmak için kullanılan sıkıştırma algoritmasıyla aynı olmalıdır. Geçerli değerler, CompressionAlgorithm sınıfında sabitler olarak tanımlanır. Varsayılan zlib biçimi kullanmaktır. lzma algoritması desteği Flash Player 11.3 ve AIR 3.3 için eklendi. lzma'yı kullanmak için bu oynatıcı sürümlerine veya daha yeni sürümlere sahip olmalısınız.
|
Atar
IOError — Veri geçerli sıkıştırılmış veri değil, sıkıştırmak için kullanılacak sıkıştırma algoritmasıyla sıkıştırılmamış.
|
İlgili API Öğeleri
writeBoolean | () | yöntem |
public function writeBoolean(value:Boolean):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Boolean değeri yazar. Tek bir bayt value
parametresine göre, true
olması durumunda 1 ve false
olması durumunda 0 olarak yazılır.
Parametreler
value:Boolean — Hangi baytın yazıldığını belirleyen Boolean değeri. Parametre true olursa yöntem bir 1 yazar; parametre false olursa yöntem bir 0 yazar.
|
writeByte | () | yöntem |
public function writeByte(value:int):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışına bayt yazar.
Parametrenin düşük 8 biti kullanılır. Yüksek 24 bit göz ardı edilir.
Parametreler
value:int — 32 bit tam sayı. Düşük 8 bit bayt akışına yazılır.
|
writeBytes | () | yöntem |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen bayt dizisinden, bytes
öğesinden ve başlangıç offset
(sıfır temelli dizin) baytlarından, bayt akışına bir length
baytları sırası yazar.
length
parametresi atlanırsa, varsayılan uzunluk değeri olan 0 kullanılır ve yöntem, offset
öğesinden başlayarak arabelleğin tamamını yazar. Offset
parametresi de atlanırsa, arabelleğin tamamı yazılır.
offset
veya length
aralık dışındaysa, bu parametreler başlangıca ve bytes
dizisinin sonuna kelepçelenir.
Parametreler
bytes:ByteArray — ByteArray nesnesi.
| |
offset:uint (default = 0 ) — Dizi içinde yazmanın başlatılacağı konumu gösteren sıfır temelli bir dizin.
| |
length:uint (default = 0 ) — Arabellekte nereye kadar yazılacağını gösteren işaretsiz bir tam sayı.
|
writeDouble | () | yöntem |
writeFloat | () | yöntem |
writeInt | () | yöntem |
writeMultiByte | () | yöntem |
public function writeMultiByte(value:String, charSet:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen karakter kümesini kullanarak bayt akışına çok baytlı dize yazar.
Parametreler
value:String — Yazılacak dize değeri.
| |
charSet:String — Kullanılacak karakter kümesini belirten dize. Olası karakter kümesi dizeleri "shift-jis" , "cn-gb" , "iso-8859-1" ve diğerlerini içerir. Tam liste için, bkz. Desteklenen Karakter Kümeleri.
|
writeObject | () | yöntem |
writeShort | () | yöntem |
public function writeShort(value:int):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışına 16 bit tam sayı yazar. Parametrenin düşük 16 biti kullanılır. Yüksek 16 bit göz ardı edilir.
Parametreler
value:int — 16 biti bit akışına yazılan 32 bit tam sayı.
|
writeUnsignedInt | () | yöntem |
writeUTF | () | yöntem |
public function writeUTF(value:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışına UTF-8 dizesi yazar. Önce UTF-8 dizisinin bayt cinsinden uzunluğu 16 bit tam sayı olarak yazılır, dizenin karakterlerini temsil eden baytlar takip eder.
Parametreler
value:String — Yazılacak dize değeri.
|
Atar
RangeError — Uzunluk 65535'ten büyükse.
|
writeUTFBytes | () | yöntem |
public function writeUTFBytes(value:String):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bayt akışına UTF-8 dizesi yazar. writeUTF()
yöntemine benzer, ancak writeUTFBytes()
dizeye 16 bit uzunluğunda bir kelimeyi önek olarak eklemez.
Parametreler
value:String — Yazılacak dize değeri.
|
ByteArrayExample
sınıfını kullanır. Bu işlem, şu adımlar kullanılarak gerçekleştirilir:
- Yeni bir ByteArray nesne örneği
byteArr
bildirin. - Boolean
false
değerinin bayt eşdeğerini yazın ve uzunluğu kontrol edip yeniden okuyun. - Pi'nin matematiksel değerinin çift kesinlikli kayar nokta değerini yazın.
- Bayt dizisine yazılan dokuz baytın her birini yeniden okuyun.
Not: trace()
bir bayt üzerine çağrıldığında, bayt dizisinde saklanan baytların ondalık eşdeğerini yazdırır.
Bayt akışının kendi sonundan ötesinin okunmadığından emin olmak için, dosya sonu hatalarını denetlemek üzere en sona bir kod parçasının eklendiğine dikkat edin.
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:09 PM Z