Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
В интерфейсе IDataOutput предусмотрен набор методов для записи двоичных данных. В операциях ввода-вывода этот интерфейс дополняет интерфейс IDataInput, который считывает двоичные данные. Интерфейс IDataOutput реализован в классах Socket и ByteArray.
По умолчанию все операции IDataInput и IDataOutput используют порядок bigEndian (у старшего байта последовательности меньший адрес), и являются неблокирующими.
Расширение знака имеет значение только при чтении данных, но не при их записи. Поэтому для работы с IDataInput.readUnsignedByte()
и IDataInput.readUnsignedShort()
не требуется создавать отдельные методы записи. Другими словами:
-
IDataOutput.writeByte()
используется с IDataInput.readUnsignedByte()
и IDataInput.readByte()
.
-
IDataOutput.writeShort()
используется с IDataInput.readUnsignedShort()
и IDataInput.readShort()
.
Посмотреть примеры
endian:String
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Порядок байт данных, константа bigEndian или littleEndian класса Endian.
Реализация public function get endian():String
public function set endian(value:String):void
См. также
objectEncoding:uint
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Позволяет определить, какой формат — ActionScript 3.0, ActionScript 2.0 или ActionScript 1.0, — должен применяться при записи или чтении двоичных данных. Значение представлено константой из класса ObjectEncoding.
Реализация public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
См. также
public function writeBoolean(value:Boolean):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает логическое значение. Записывается один байт, соответствующий параметру value
. 1 в случае значения true
, и 0 в случае значения false
.
Параметры
| value:Boolean — Логическое значение, показывающее, какой байт записывается. Если параметр содержит значение true , проигрыватель Flash Player записывает 1. В случае значения false записывается 0.
|
public function writeByte(value:int):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает байт. Используется 8 младших битов параметра. 24 старших бита игнорируются.
Параметры
| value:int — Значение байта в виде целого числа.
|
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает в поток байт последовательность байт длиной length
из заданного массива байт (bytes
), начиная со смещения offset
(индекс отсчитывается от нуля).
Если параметр length
опущен, применение длины по умолчанию, равной 0, приведет к тому, что проигрыватель Flash Player будет записывать весь буфер, начиная со смещения offset
. Если также опустить параметр offset
, будет записываться весь буфер.
Если параметры offset
или length
находятся за пределами диапазона, то они корректируются так, чтобы совпасть с началом и концом массива bytes
.
Параметры
| bytes:ByteArray — Массив байт для записи.
|
|
| offset:uint (default = 0 ) — Отсчитываемое от нуля значение индекса, определяющее положение начала записи в массив.
|
|
| length:uint (default = 0 ) — Целое число без знака, определяющее глубину буфера для записи.
|
public function writeDouble(value:Number):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает число IEEE 754 с двойной точностью (64-разрядное) и плавающей запятой.
Параметры
| value:Number — Число с двойной точностью (64-разрядное) и плавающей запятой.
|
public function writeFloat(value:Number):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает число IEEE 754 с одинарной точностью (32-разрядное) и плавающей запятой.
Параметры
| value:Number — Число с одинарной точностью (32-разрядное) и плавающей запятой.
|
public function writeInt(value:int):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает 32-разрядное целое число со знаком.
Параметры
| value:int — Значение байта в виде целого числа со знаком.
|
public function writeMultiByte(value:String, charSet:String):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает многобайтовую строку в поток байт с использованием заданного набора знаков.
Параметры
| value:String — Записываемое значение строки.
|
|
| charSet:String — Строка, обозначающая используемый набор символов. Возможные строки наборов символов: "shift_jis" , "cn-gb" , "iso-8859-1" и другие. Полный список см. в разделе Поддерживаемые наборы символов.
|
public function writeObject(object:*):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает объект в поток байт или массив байт в сериализованном формате AMF.
Параметры
| object:* — объект для сериализации
|
См. также
public function writeShort(value:int):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает 16-разрядное целое число. Используется 16 младших битов параметра. 16 старших битов игнорируются.
Параметры
| value:int — Значение байта в виде целого числа.
|
public function writeUnsignedInt(value:uint):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает 32-разрядное целое число без знака.
Параметры
| value:uint — Значение байта в виде целого беззнакового числа.
|
public function writeUTF(value:String):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает строку UTF-8 в поток байт. Сначала записывается длина строки UTF-8 в байтах (в виде 16-разрядного целого числа), за которой следуют байты символов строки.
Параметры
| value:String — Записываемое значение строки.
|
Выдает public function writeUTFBytes(value:String):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает строку UTF-8. Аналогично writeUTF()
, но строке не предшествует 16-разрядное слово, указывающее длину.
Параметры
| value:String — Записываемое значение строки.
|
В следующем примере класс
DataOutputExample
используется для записи в массив байт логического значения и представления числа "пи" с двойной точностью и плавающей запятой. Это можно сделать, выполнив следующие действия:
- Объявляется новый экземпляр объекта ByteArray
byteArr
. - Записывается эквивалент байтового логического значения
false
и эквивалент числа "пи" с двойной точностью и плавающей запятой. - Считывается логическое значение и число двойной точности с плавающей запятой.
Обратите внимание на то, что в конце добавляется сегмент кода для проверки ошибок конца файла. Это позволяет прекратить считывание потока байт по достижении его окончания.
package {
import flash.display.Sprite;
import flash.utils.ByteArray;
import flash.errors.EOFError;
public class DataOutputExample extends Sprite {
public function DataOutputExample() {
var byteArr:ByteArray = new ByteArray();
byteArr.writeBoolean(false);
byteArr.writeDouble(Math.PI);
byteArr.position = 0;
try {
trace(byteArr.readBoolean()); // false
}
catch(e:EOFError) {
trace(e); // EOFError: Error #2030: End of file was encountered.
}
try {
trace(byteArr.readDouble()); // 3.141592653589793
}
catch(e:EOFError) {
trace(e); // EOFError: Error #2030: End of file was encountered.
}
try {
trace(byteArr.readDouble());
}
catch(e:EOFError) {
trace(e); // EOFError: Error #2030: End of file was encountered.
}
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Wed Sep 24 2008, 07:56 AM -07:00