ByteData abstract class

A fixed-length, random-access sequence of bytes that also provides random and unaligned access to the fixed-width integers and floating point numbers represented by those bytes.

ByteData may be used to pack and unpack data from external sources (such as networks or files systems), and to process large quantities of numerical data more efficiently than would be possible with ordinary List implementations. ByteData can save space, by eliminating the need for object headers, and time, by eliminating the need for data copies. Finally, ByteData may be used to intentionally reinterpret the bytes representing one arithmetic type as another. For example this code fragment determine what 32-bit signed integer is represented by the bytes of a 32-bit floating point number:

var buffer = new Uint8List(8).buffer;
var bdata = new ByteData.view(buffer);
bdata.setFloat32(0, 3.04);
int huh = bdata.getInt32(0);
Implements

Constructors

ByteData(int length)
factory

Creates a ByteData of the specified length (in elements), all of whose bytes are initially zero.

ByteData.view(ByteBuffer buffer, [ int offsetInBytes = 0, int length ])
factory

Creates an ByteData view of the specified region in buffer.

Properties

bufferByteBuffer
read-only, inherited

Returns the byte buffer associated with this object.

elementSizeInBytesint
read-only, inherited

Returns the number of bytes in the representation of each element in this list.

hashCodeint
read-only, inherited

The hash code for this object.

lengthInBytesint
read-only, inherited

Returns the length of this view, in bytes.

offsetInBytesint
read-only, inherited

Returns the offset in bytes into the underlying byte buffer of this view.

runtimeTypeType
read-only, inherited

A representation of the runtime type of the object.

Operators

operator ==(other) → bool
inherited

The equality operator.

Methods

getFloat32(int byteOffset, [ Endianness endian = Endianness.BIG_ENDIAN ]) → double

Returns the floating point number represented by the four bytes at the specified byteOffset in this object, in IEEE 754 single-precision binary floating-point format (binary32).

getFloat64(int byteOffset, [ Endianness endian = Endianness.BIG_ENDIAN ]) → double

Returns the floating point number represented by the eight bytes at the specified byteOffset in this object, in IEEE 754 double-precision binary floating-point format (binary64).

getInt8(int byteOffset) → int

Returns the (possibly negative) integer represented by the byte at the specified byteOffset in this object, in two's complement binary representation.

getInt16(int byteOffset, [ Endianness endian = Endianness.BIG_ENDIAN ]) → int

Returns the (possibly negative) integer represented by the two bytes at the specified byteOffset in this object, in two's complement binary form.

getInt32(int byteOffset, [ Endianness endian = Endianness.BIG_ENDIAN ]) → int

Returns the (possibly negative) integer represented by the four bytes at the specified byteOffset in this object, in two's complement binary form.

getInt64(int byteOffset, [ Endianness endian = Endianness.BIG_ENDIAN ]) → int

Returns the (possibly negative) integer represented by the eight bytes at the specified byteOffset in this object, in two's complement binary form.

getUint8(int byteOffset) → int

Returns the positive integer represented by the byte at the specified byteOffset in this object, in unsigned binary form.

getUint16(int byteOffset, [ Endianness endian = Endianness.BIG_ENDIAN ]) → int

Returns the positive integer represented by the two bytes starting at the specified byteOffset in this object, in unsigned binary form.

getUint32(int byteOffset, [ Endianness endian = Endianness.BIG_ENDIAN ]) → int

Returns the positive integer represented by the four bytes starting at the specified byteOffset in this object, in unsigned binary form.

getUint64(int byteOffset, [ Endianness endian = Endianness.BIG_ENDIAN ]) → int

Returns the positive integer represented by the eight bytes starting at the specified byteOffset in this object, in unsigned binary form.

setFloat32(int byteOffset, double value, [ Endianness endian = Endianness.BIG_ENDIAN ]) → void

Sets the four bytes starting at the specified byteOffset in this object to the IEEE 754 single-precision binary floating-point (binary32) representation of the specified value.

setFloat64(int byteOffset, double value, [ Endianness endian = Endianness.BIG_ENDIAN ]) → void

Sets the eight bytes starting at the specified byteOffset in this object to the IEEE 754 double-precision binary floating-point (binary64) representation of the specified value.

setInt8(int byteOffset, int value) → void

Sets the byte at the specified byteOffset in this object to the two's complement binary representation of the specified value, which must fit in a single byte.

setInt16(int byteOffset, int value, [ Endianness endian = Endianness.BIG_ENDIAN ]) → void

Sets the two bytes starting at the specified byteOffset in this object to the two's complement binary representation of the specified value, which must fit in two bytes.

setInt32(int byteOffset, int value, [ Endianness endian = Endianness.BIG_ENDIAN ]) → void

Sets the four bytes starting at the specified byteOffset in this object to the two's complement binary representation of the specified value, which must fit in four bytes.

setInt64(int byteOffset, int value, [ Endianness endian = Endianness.BIG_ENDIAN ]) → void

Sets the eight bytes starting at the specified byteOffset in this object to the two's complement binary representation of the specified value, which must fit in eight bytes.

setUint8(int byteOffset, int value) → void

Sets the byte at the specified byteOffset in this object to the unsigned binary representation of the specified value, which must fit in a single byte.

setUint16(int byteOffset, int value, [ Endianness endian = Endianness.BIG_ENDIAN ]) → void

Sets the two bytes starting at the specified byteOffset in this object to the unsigned binary representation of the specified value, which must fit in two bytes.

setUint32(int byteOffset, int value, [ Endianness endian = Endianness.BIG_ENDIAN ]) → void

Sets the four bytes starting at the specified byteOffset in this object to the unsigned binary representation of the specified value, which must fit in four bytes.

setUint64(int byteOffset, int value, [ Endianness endian = Endianness.BIG_ENDIAN ]) → void

Sets the eight bytes starting at the specified byteOffset in this object to the unsigned binary representation of the specified value, which must fit in eight bytes.

noSuchMethod(Invocation invocation) → dynamic
inherited

Invoked when a non-existent method or property is accessed.

toString() → String
inherited

Returns a string representation of this object.

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-typed_data/ByteData-class.html