Class Bytes

A simple immutable class representing an array of bytes, used for working with binary data in a scripting context.

It acts as a view to ArrayBuffer. The buffer can be accessed through asUint8Array().

Limitation: The size of the resulting byte representation is limited by the quota api.jsArrayBufferSize that is defining the max size for a ArrayBuffer.

ConstantDescription
MAX_BYTES: Number = 10240The maximum number of bytes that a Bytes object can represent == 10KB
PropertyDescription
length: Number (read-only)Returns the number of bytes represented by this object.
ConstructorDescription
Bytes(Object)Construct a Bytes object from the given ArrayBuffer or view.
Bytes(String)Construct a Bytes object from the given string using the default encoding.
Bytes(String, String)Construct a Bytes object from the given string using the given encoding.
MethodDescription
asUint8Array()Returns a Uint8Array based on the ArrayBuffer used for this Bytes object.
byteAt(Number)Returns the value of the byte at position index as an integer.
bytesAt(Number, Number)Return a new Bytes object containing the subsequence of this object's bytes specified by the index and length parameters.
getLength()Returns the number of bytes represented by this object.
intAt(Number)Absolute get method for reading a signed integer value (32 bit) in network byte order(= big endian).
reverse()Return a new Bytes object which has the same bytes as this one in reverse order.
shortAt(Number)Absolute get method for reading a signed short value (16 bit) in network byte order(= big endian).
toString()Constructs a new String by decoding this array of bytes using the default encoding.
toString(String)Constructs a new String by decoding this array of bytes using the specified encoding.

assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values

MAX_BYTES: Number = 10240

The maximum number of bytes that a Bytes object can represent == 10KB

Deprecated:

No longer used by the Bytes class.


length: Number (read-only)

Returns the number of bytes represented by this object.


Bytes(arrayBufferOrView: Object)

Construct a Bytes object from the given ArrayBuffer or view. The bytes object also acts as a view on the underlying ArrayBuffer. If a view is given that makes only a part of the storage array visible then this Bytes object will also make only the same part visible. The storage data is not copied.

Parameters:

  • arrayBufferOrView - An ArrayBuffer or view to a buffer that is the storage.

API Version:

Available from version 21.2.


Bytes(string: String)

Construct a Bytes object from the given string using the default encoding. Convenience for Bytes( string, "UTF-8" ).

Parameters:

  • string - The string to encode into a Bytes object, must not be null.

Throws:

  • IllegalArgumentException - If the encoded byte sequence exceeds the maximum number of bytes.

Bytes(string: String, encoding: String)

Construct a Bytes object from the given string using the given encoding. This method always replaces malformed input and unmappable character sequences with encoding defaults.

Parameters:

  • string - The string to encode into a Bytes object, must not be null.
  • encoding - The name of a supported encoding, or null in which case the default encoding (UTF-8) is used.

Throws:

  • IllegalArgumentException - If the named encoding is not supported or if the encoded byte sequence exceeds the maximum number of bytes.

asUint8Array(): Object

Returns a Uint8Array based on the ArrayBuffer used for this Bytes object. Changes to the returned ArrayBuffer will be visible in the Bytes object.

Returns:

API Version:

Available from version 21.2.


byteAt(index: Number): Number

Returns the value of the byte at position index as an integer. If index is out of range an exception is thrown. The byte is interpreted as signed and so the value returned will always be between -128 and +127.

Parameters:

  • index - The index of the byte.

Returns:

  • The byte value at the specified index.

Throws:

  • IndexOutOfBoundsException - If the index argument is negative or not less than the length of this byte array.

bytesAt(index: Number, length: Number): Bytes

Return a new Bytes object containing the subsequence of this object's bytes specified by the index and length parameters. The returned object is a new view onto the same data, no data is copied.

Parameters:

  • index - The initial index for the new view, inclusive.
  • length - The number of bytes visible in the new view.

Returns:

  • a new Bytes object representing a subsequence of this Bytes object.

Throws:

  • ArrayIndexOutOfBoundsException - If index < 0 or index > getLength() or index + length > getLength()
  • IllegalArgumentException - If length < 0

getLength(): Number

Returns the number of bytes represented by this object.

Returns:

  • The number of bytes.

intAt(index: Number): Number

Absolute get method for reading a signed integer value (32 bit) in network byte order(= big endian).

Parameters:

  • index - The byte index at which to read the number.

Returns:

  • The read number.

Throws:

  • IndexOutOfBoundsException - If index is negative or not smaller than the number of bytes minus three.

reverse(): Bytes

Return a new Bytes object which has the same bytes as this one in reverse order.

Returns:

  • a new Bytes object representing the reverse of this Bytes object.

shortAt(index: Number): Number

Absolute get method for reading a signed short value (16 bit) in network byte order(= big endian).

Parameters:

  • index - The byte index at which to read the number.

Returns:

  • The read number.

Throws:

  • IndexOutOfBoundsException - If index is negative or not smaller than the number of bytes minus one.

toString(): String

Constructs a new String by decoding this array of bytes using the default encoding. Convenience for toString( "UTF-8" ). Limitation: The method is protected by the quota api.jsStringLength that prevents creation of too long strings.

Returns:

  • A String representing the decoded array of bytes.

toString(encoding: String): String

Constructs a new String by decoding this array of bytes using the specified encoding. Limitation: The method is protected by the quota api.jsStringLength that prevents creation of too long strings.

Parameters:

  • encoding - The name of a supported encoding.

Returns:

  • A String representing the decoded array of bytes.

Throws:

  • IllegalArgumentException - If the named encoding is not supported.