Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
В классе ByteArray предусмотрены методы и свойства для оптимизации чтения и записи двоичных данных, а также работы с ними.
Примечание. Класс ByteArray предназначен для опытных разработчиков, которым требуется доступ к данным на уровне байт.
Данные в памяти представляют собой упакованный массив (наиболее компактное представление типа данных) байт, но с экземпляром класса ByteArray можно работать с использованием стандартных операторов []
(доступа к массивам). Чтение из него и запись в него можно осуществлять как в файл в памяти, с использованием методов, похожих на методы классов URLStream и Socket.
Кроме того, поддерживается сжатие и распаковка zlib, а также сериализация объекта Action Message Format (AMF).
Среди возможных вариантов использования класса ByteArray следующие:
- создание собственного протокола для подключения к серверу;
- написание собственных средств кодирования и раскодирования URL-адресов;
- написание собственного пакета AMF/Remoting;
- оптимизация размера данных с использованием типов данных;
- работа с двоичными данными, загруженными из файла в Adobe® AIR™.
Посмотреть примеры
bytesAvailable:uint
[только для чтения]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Число байт данных, доступных для чтения от текущей позиции в массиве байт до конца массива.
Каждый раз, когда выполняется доступ к объекту ByteArray, в сочетании с методами чтения следует использовать свойство bytesAvailable
. Это позволит обеспечить чтение действительных данных.
Реализация public function get bytesAvailable():uint
defaultObjectEncoding:uint
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Обозначает кодировку объекта по умолчанию класса ByteArray для использования в новом экземпляре ByteArray. При создании экземпляра ByteArray используется значение кодировки defaultObjectEncoding
. Свойство defaultObjectEncoding
инициализируется в ObjectEncoding.AMF3
.
Когда объект записывается или считывается из двоичных данных, свойство objectEncoding
указывает используемую версию формата: формат ActionScript 3.0, ActionScript 2.0 или ActionScript 1.0. Значение представлено константой из класса ObjectEncoding.
Реализация public static function get defaultObjectEncoding():uint
public function set defaultObjectEncoding(value:uint):void
См. также
endian:String
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Изменяет или считывает порядок байт данных: Endian.BIG_ENDIAN
или Endian.LITTLE_ENDIAN
.
Реализация public function get endian():String
public function set endian(value:String):void
См. также
length:uint
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Длина объекта ByteArray в байтах.
Если длина установлена в значение, превышающее текущую длину, правая часть массива байт заполняется нулями.
Если длина установлена в значение, меньшее текущей длины, выполняется усечение массива байт.
Реализация public function get length():uint
public function set length(value:uint):void
objectEncoding:uint
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Позволяет определить, какой формат — ActionScript 3.0, ActionScript 2.0 или ActionScript 1.0, — должен применяться при записи или чтении из экземпляра ByteArray. Значение представлено константой из класса ObjectEncoding.
Реализация public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
См. также
position:uint
[чтение и запись]
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Перемещает или возвращает текущую позицию указателя файла в объекте ByteArray (в байтах). При следующем вызове метода чтения с этого положения начинается чтение, а при вызове метода записи начинается запись.
Реализация public function get position():uint
public function set position(value:uint):void
public function ByteArray()
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает экземпляр ByteArray, представляющий упакованный массив байт. С помощью методов и свойств данного класса можно оптимизировать хранилище и поток данных.
flash10 function clear():void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Удаляет содержимое массива байт и сбрасывает значения length
и position
в значение 0. При явном вызове этого метода высвобождается память, используемая экземпляром ByteArray.
public function compress(algorithm:String):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Упаковывает массив байт. Упаковывается весь массив байт. Для содержимого, которое выполняется в Adobe AIR, можно указать алгоритм упаковки посредством передачи значения (определенного в классе CompressionAlgorithm) в качестве параметра algorithm
. Flash Player поддерживает только алгоритм по умолчанию, zlib.
После вызова свойству length
объекта ByteArray присваивается новая длина. Свойство position
устанавливается на конец массива байт.
Формат упакованных данных zlib описан в документе http://www.ietf.org/rfc/rfc1950.txt.
Алгоритм упаковки данных deflate описан в документе http://www.ietf.org/rfc/rfc1951.txt.
Алгоритм упаковки deflate используется в различных форматах упаковки (например, zlib, gzip, некоторых реализациях zip и в других). Когда данные упаковываются с использованием одного из этих форматов упаковки, помимо хранения упакованной версии исходных данных, данные формата упаковки (например, ZIP-файл) содержат метаданные. Вот некоторые из примером метаданных, включаемых в различные форматы файлов: имя файла, дата и время изменения файла, исходный размер файла, необязательные комментарии, контрольная сумма и другие данные.
Например, когда объект ByteArray сжимается с помощью алгоритма zlib, результирующий объект ByteArray получает структуру определенного формата. Определенные байты содержат метаданные об упакованных данных, а другие байты содержат сжатую версию исходных данных объекта ByteArray. Как определено спецификацией формата упакованных данных zlib, эти байты (то есть та часть, которая содержит упакованную версию исходных данных) сжимаются с использованием алгоритма deflate. Как следствие, эти байты идентичны результату вызова функции compress(CompressionAlgorithm.DEFLATE)
для исходного объекта ByteArray. Однако результат выполнения compress(CompressionAlgorithm.ZLIB)
содержит дополнительные метаданные, в то время как результат выполнения compress(CompressionAlgorithm.DEFLATE)
содержит только упакованную версию исходных данных ByteArray и ничего больше.
Поэтому, чтобы формат deflate можно было использовать для упаковки данных экземпляра ByteArray в определенный формат (например, gzip или zip), нельзя просто вызвать compress(CompressionAlgorithm.DEFLATE)
. Необходимо создать объект ByteArray со структурой, соответствующей спецификации формата упаковки, включающий соответствующие метаданные, а также упакованные данные, полученные с использованием формата deflate. Аналогично, чтобы раскодировать данные, упакованные в такой формат, как gzip или zip, по отношению к этим данным нельзя просто вызвать метод uncompress(CompressionAlgorithm.DEFLATE)
. Сначала необходимо отделить метаданные от упакованных данных, а затем использовать формат deflate для распаковки упакованных данных.
Параметры
| algorithm:String (default = NaN ) — Алгоритм сжатия, используемый при упаковке. Доступные значения определены в виде констант в классе CompressionAlgorithm. Формат по умолчанию — zlib. Этот параметр распознается только для содержимого, выполняемого в Adobe AIR. Flash Player поддерживает только алгоритм по умолчанию, zlib, и выдает исключение при попытке передать значение для этого параметра.
|
См. также
flash10 function deflate():void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Сжимает массив байт с использованием алгоритма упаковки DEFLATE. Упаковывается весь массив байт.
После вызова свойству length
объекта ByteArray присваивается новая длина. Свойство position
устанавливается на конец массива байт.
Алгоритм упаковки данных DEFLATE описан в документе http://www.ietf.org/rfc/rfc1951.txt.
Алгоритм упаковки DEFLATE используется в различных форматах упаковки (например, zlib, gzip некоторых реализациях zip и в других). Когда данные упаковываются с использованием одного из этих форматов упаковки, помимо хранения упакованной версии исходных данных, данные формата упаковки (например, ZIP-файл) содержат метаданные. Вот некоторые из примером метаданных, включаемых в различные форматы файлов: имя файла, дата и время изменения файла, исходный размер файла, необязательные комментарии, контрольная сумма и другие данные.
Например, когда объект ByteArray сжимается с помощью метода compress()
, объект ByteArray сжимается с использованием формата упакованных данных zlib. Результирующий объект ByteArray имеет структуру определенного формата. Определенные байты содержат метаданные об упакованных данных, а другие байты содержат сжатую версию исходных данных объекта ByteArray. Как определено спецификацией формата упакованных данных zlib, эти байты (то есть та часть, которая содержит упакованную версию исходных данных) сжимаются с использованием алгоритма DEFLATE. Как следствие, эти байты идентичны результату вызова функции deflate()
для исходного объекта ByteArray. Однако результат выполнения метода compress()
содержит дополнительные метаданные, в то время как результат выполнения метода deflate()
содержит только упакованную версию исходных данных ByteArray и ничего больше.
Аналогично, чтобы использовать метод deflate()
для упаковки экземпляра объекта ByteArray в определенный формат (например, gzip или zip), для этих данных нельзя просто вызвать метод deflate()
. Необходимо создать объект ByteArray со структурой, соответствующей спецификации формата упаковки, включающие соответствующие метаданные, а также упакованные данные, полученные с использованием метода deflate()
. Аналогично, чтобы раскодировать данные, упакованные в такой формат, как gzip или zip, для этих данных нельзя просто использовать метод inflate()
. Сначала необходимо отделить метаданные от упакованных данных, а затем использовать метод deflate()
для распаковки упакованных данных.
См. также
flash10 function inflate():void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Распаковывает массив байт. Массив байт должен быть сжат с использованием алгоритма упаковки DEFLATE, применяемого методом deflate()
.
После вызова свойству length
объекта ByteArray присваивается новая длина. Свойству position
присваивается значение 0.
Алгоритм упаковки данных DEFLATE описан в документе http://www.ietf.org/rfc/rfc1951.txt.
При раскодировании данных, упакованных в формат, использующий алгоритм сжатия DEFLATE (например, формат gzip или zip), вызов метода inflate()
не сработает для объекта ByteArray, содержащего метаданные. Сначала необходимо отделить метаданные, которые входят в состав упакованного формата данных, от самих сжатых данных. Дополнительную информацию см. в описании метода deflate()
.
Выдает | IOError — Данные не являются допустимыми упакованными данными, они не были сжаты с использованием алгоритма упаковки DEFLATE.
|
См. также
public function readBoolean():Boolean
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт логическое значение. Считывается один байт. Если этот байт ненулевой, то возвращается значение true
. В противном случае возвращается значение false
.
Возвращает | Boolean — Возвращает значение true , если считывается ненулевой байт, в противном случае используется значение false .
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readByte():int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт байт со знаком.
Возвращенное значение находится в диапазоне от -128 до 127.
Возвращает | int — Целое число между -128 и 127.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает·из потока байт число байт данных, заданное параметром length
. Байты считываются в объект ByteArray, определяемый параметром bytes
, при этом байты записываются в целевой массив ByteArray, начиная с позиции, определяемой параметром offset
.
Параметры
| bytes:ByteArray — Объект ByteArray, в который считываются данные.
|
|
| offset:uint (default = 0 ) — Смещение (положение) в массиве bytes , начиная с которого должны быть прочитаны данные.
|
|
| length:uint (default = 0 ) — Число байт для считывания. Если значение по умолчанию равно 0, считываются все доступные данные.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readDouble():Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт число IEEE 754 с двойной точностью (64-разрядное) и плавающей запятой.
Возвращает | Number — Число с двойной точностью (64-разрядное) и плавающей запятой.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readFloat():Number
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт число IEEE 754 с одинарной точностью (32-разрядное) и плавающей запятой.
Возвращает | Number — Число с одинарной точностью (32-разрядное) и плавающей запятой.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readInt():int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт 32-разрядное целое число со знаком.
Возвращенное значение находится в диапазоне от -2147483648 до 2147483647.
Возвращает | int — 32-разрядное целое число со знаком между -2147483648 и 2147483647.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readMultiByte(length:uint, charSet:String):String
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт многобайтовую строку заданной длины с использованием заданного набора знаков.
Параметры
| length:uint — Число считываемых из потока байтов.
|
|
| charSet:String — Строка, обозначающая набор символов, которые используются для интерпретации байтов. Возможные строки наборов символов: "shift_jis" , "cn-gb" , "iso-8859-1" и другие. Полный список см. в разделе Поддерживаемые наборы символов.
Примечание. Если текущая система не распознает значение параметра charSet , то в качестве набора символов приложение будет использовать кодовую страницу по умолчанию. Например, значение параметра charSet , например в myTest.readMultiByte(22, "iso-8859-01") , которое использует 01 вместо 1 может работать на вашем компьютере, но привести к сбою на другой рабочей станции. На другом компьютере приложение будет использовать кодовую страницу, заданную по умолчанию в системе.
|
Возвращает | String — Строка в кодировке UTF-8.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readObject():*
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает объект из массива байт, зашифрованного в сериализованный формат AMF.
Возвращает | * — Десериализованный объект.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readShort():int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт 16-разрядное целое число со знаком.
Возвращенное значение находится в диапазоне от -32768 до 32767.
Возвращает | int — 16-разрядное целое число со знаком между -32768 и 32767.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readUnsignedByte():uint
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт байт без знака.
Возвращенное значение находится в диапазоне от 0 до 255.
Возвращает | uint — 32-разрядное беззнаковое целое число между 0 и 255.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readUnsignedInt():uint
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт 32-разрядное целое число без знака.
Возвращенное значение находится в диапазоне от 0 до 4294967295.
Возвращает | uint — 32-разрядное беззнаковое целое число между 0 и 4294967295.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readUnsignedShort():uint
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт 16-разрядное целое число без знака.
Возвращенное значение находится в диапазоне от 0 до 65535.
Возвращает | uint — 16-разрядное беззнаковое целое число между 0 и 65535.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function readUTF():String
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает из потока байт строку UTF-8. Предполагается, что в строку вставляется префикс с неподписанным значением, указывающим длину в байтах.
Возвращает | String — Строка в кодировке UTF-8.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
См. также
public function readUTFBytes(length:uint):String
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Считывает последовательность байт UTF-8, заданную параметром length
, из потока байт и возвращает строку.
Параметры
| length:uint — Беззнаковое короткое целое число, указывающее длину в байтах UTF-8.
|
Возвращает | String — Строка заданной длины, состоящая из байт UTF-8.
|
Выдает | EOFError — Недостаточно данных, доступных для чтения.
|
public function toString():String
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Преобразует массив байт в строку. Если данные массива начинаются маркером порядка байт Unicode, во время преобразования данных в строку приложение учтет этот маркер. Если параметр System.useCodePage
установлен в значение true
, приложение будет обрабатывать данные массива во время преобразования как данные в текущей системной кодировке.
Возвращает | String — Строковое представление массива байт.
|
public function uncompress(algorithm:String):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Распаковывает массив байт. Для содержимого, которое выполняется в Adobe AIR, можно указать алгоритм упаковки посредством передачи значения (определенного в классе CompressionAlgorithm) в качестве параметра algorithm
. Массив байт должен быть сжат с использованием этого же алгоритма. Flash Player поддерживает только алгоритм по умолчанию, zlib.
После вызова свойству length
объекта ByteArray присваивается новая длина. Свойству position
присваивается значение 0.
Формат упакованных данных zlib описан в документе http://www.ietf.org/rfc/rfc1950.txt.
Алгоритм упаковки данных deflate описан в документе http://www.ietf.org/rfc/rfc1951.txt.
При раскодировании данных, упакованных в формат, использующий алгоритм сжатия deflate (например, формат gzip или zip), вызов метода uncompress(CompressionAlgorithm.DEFLATE)
не сработает для объекта ByteArray, содержащего метаданные. Сначала необходимо отделить метаданные, которые входят в состав упакованного формата данных, от самих сжатых данных. Дополнительную информацию см. в описании метода compress()
.
Параметры
| algorithm:String (default = NaN ) — Алгоритм сжатия, используемый при распаковке. Это должен быть тот же алгоритм сжатия, который использовался для упаковки данных. Доступные значения определены в виде констант в классе CompressionAlgorithm. Формат по умолчанию — zlib. Этот параметр распознается только для содержимого, выполняемого в Adobe AIR. Flash Player поддерживает только алгоритм по умолчанию, zlib, и выдает исключение при попытке передать значение для этого параметра.
|
Выдает | IOError — Данные не являются допустимыми упакованными данными, они не были сжаты с использованием указанного алгоритма упаковки.
|
См. также
public function writeBoolean(value:Boolean):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает логическое значение. Записывается один байт, соответствующий параметру value
. 1 в случае значения true
, и 0 в случае значения false
.
Параметры
| value:Boolean — Логическое значение, показывающее, какой байт записывается. Если параметр содержит значение true , метод записывает 1. В случае значения false записывается 0.
|
public function writeByte(value:int):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Записывает байт в поток байт.
Используется 8 младших битов параметра. 24 старших бита игнорируются.
Параметры
| value:int — 32-разрядное целое число. В поток байт записываются младшие 8 бит.
|
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, приведет к тому, что метод будет записывать весь буфер, начиная со смещения offset
. Если также опустить параметр offset
, будет записываться весь буфер.
Если параметры offset
или length
находятся за пределами диапазона, то они корректируются так, чтобы совпасть с началом и концом массива bytes
.
Параметры
| bytes:ByteArray — Объект 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 — 32-разрядное целое число, из которого в поток байт записывается 16 младших бит.
|
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()
, с тем различием, что writeUTFBytes()
не вставляет перед строкой 16-разрядное слово, указывающее длину.
Параметры
| value:String — Записываемое значение строки.
|
В следующем примере класс
ByteArrayExample
используется для записи в массив байт логического значения и представления числа "пи" с двойной точностью и плавающей запятой. Это можно сделать, выполнив следующие действия:
- Объявляется новый экземпляр объекта ByteArray
byteArr
. - Записывается эквивалент байтового логического значения
false
, а затем проверяется длина и оно считывается. - Записывается эквивалент числа "пи" с двойной точностью и плавающей запятой.
- Все эти девять байт, записанных в массив байт, считываются.
Примечание. Когда trace()
вызывается для байта, то выводится десятичный эквивалент байт, хранящихся в байтовом массиве.
Обратите внимание на то, что в конце добавляется сегмент кода для проверки ошибок конца файла. Это позволяет прекратить считывание потока байт по достижении его окончания.
package {
import flash.display.Sprite;
import flash.utils.ByteArray;
import flash.errors.EOFError;
public class ByteArrayExample extends Sprite {
public function ByteArrayExample() {
var byteArr:ByteArray = new ByteArray();
byteArr.writeBoolean(false);
trace(byteArr.length); // 1
trace(byteArr[0]); // 0
byteArr.writeDouble(Math.PI);
trace(byteArr.length); // 9
trace(byteArr[0]); // 0
trace(byteArr[1]); // 64
trace(byteArr[2]); // 9
trace(byteArr[3]); // 33
trace(byteArr[4]); // 251
trace(byteArr[5]); // 84
trace(byteArr[6]); // 68
trace(byteArr[7]); // 45
trace(byteArr[8]); // 24
byteArr.position = 0;
try {
trace(byteArr.readBoolean() == false); // true
}
catch(e:EOFError) {
trace(e); // EOFError: Error #2030: End of file was encountered.
}
try {
trace(byteArr.readDouble()); // 3.141592653589793
}
catch(e:EOFError) {
trace(e); // EOFError: Error #2030: End of file was encountered.
}
try {
trace(byteArr.readDouble());
}
catch(e:EOFError) {
trace(e); // EOFError: Error #2030: End of file was encountered.
}
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Wed Sep 24 2008, 07:56 AM -07:00