dw.util
Class Bytes
dw.util.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.
Constants
MAX_BYTES
:
Number = 10240L
The maximum number of bytes that a Bytes object can represent == 10KB
Deprecated:
No longer used by the Bytes class.
Properties
length
:
Number
(Read Only)
The number of bytes represented by this object.
Constructor Summary
Bytes(arrayBufferOrView
:
Object)
Construct a Bytes object from the given ArrayBuffer or view.
Method Summary
asUint8Array()
:
Object
Returns a Uint8Array based on the ArrayBuffer used for this Bytes object.
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.
intAt(index
:
Number)
:
Number
Absolute get method for reading a signed integer value (32 bit) in network byte order(= big endian).
shortAt(index
:
Number)
:
Number
Absolute get method for reading a signed short value (16 bit) in network byte order(= big endian).
Methods inherited from class
Object
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
Constructor Detail
Bytes
public 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.
API Versioned:
From version 21.2.
Parameters:
arrayBufferOrView
-
An ArrayBuffer or view to a buffer that is the storage.
Bytes
public 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
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.
Method Detail
asUint8Array
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.
API Versioned:
From version 21.2.
Returns:
A newly created Uint8Array based on the existing ArrayBuffer.
byteAt
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
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
getLength()
:
Number
Returns the number of bytes represented by this object.
Returns:
The number of bytes.
intAt
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
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
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
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
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.