# @ohos.fastbuffer (FastBuffer)
A **FastBuffer** object is a more efficient buffer container for representing a byte sequence of a fixed length. It is used to store binary data.
**Recommended use case**: When constructing a FastBuffer with parameters of known types that are not **Symbol.toPrimitive** or **valueOf()** objects, you are advised to use FastBuffer for efficient handling of large volumes of binary data, such as in image processing and file uploads/downloads.
> **NOTE**
>
> The initial APIs of this module are supported since API version 20. Newly added APIs will be marked with a superscript to indicate their earliest API version.
## Modules to Import
```ts
import { fastbuffer } from '@kit.ArkTS';
```
## BufferEncoding
type BufferEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'base64url' | 'latin1' | 'binary' | 'hex'
Enumerates the supported encoding formats.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
| Type | Description |
| ------- | -------------------- |
| 'ascii' | ASCII format.|
| 'utf8' | UTF-8 format.|
| 'utf-8' | UTF-8 format.|
| 'utf16le' | UTF-16LE format.|
| 'ucs2' | Alias of UTF-16LE.|
| 'ucs-2' | Alias of UTF-16LE.|
| 'base64' | Base64 format.|
| 'base64url' | Base64URL format.|
| 'latin1' | Alias of iso-8859-1, which is backward compatible with the ASCII format.|
| 'binary' | Binary format.|
| 'hex' | Hexadecimal format.|
## fastbuffer.alloc
alloc(size: number, fill?: string | FastBuffer | number, encoding?: BufferEncoding): FastBuffer
Creates and initializes a **FastBuffer** object of the specified length.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| size | number | Yes| Size of the **FastBuffer** object to create, in bytes. Value range: 0 <= size <= UINT32_MAX|
| fill | string \| FastBuffer \| number | No| Value to be filled in the buffer. The default value is **0**.|
| encoding | [BufferEncoding](#bufferencoding) | No| Encoding format (valid only when **fill** is a string). The default value is **'utf8'**. If an unrecognized encoding format is passed, TypeError is thrown.|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | **FastBuffer** object created.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.alloc(5);
let buf2 = fastbuffer.alloc(5, 'a');
let buf3 = fastbuffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
console.info(buf2.toString());
// Output: aaaaa
console.info(buf3.toString());
// Output: hello world
```
## fastbuffer.allocUninitializedFromPool
allocUninitializedFromPool(size: number): FastBuffer
Creates a **FastBuffer** object of the specified size, without initializing it. initializing it.
You need to use [fill()](#fill) to initialize the **FastBuffer** object created.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| size | number | Yes| Size of the **FastBuffer** object to create, in bytes. Value range: 0 <= size <= UINT32_MAX|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | Uninitialized **FastBuffer** object.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(10);
buf.fill(0);
// "buf":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
```
## fastbuffer.allocUninitialized
allocUninitialized(size: number): FastBuffer
Creates a **FastBuffer** object of the specified size, without initializing it. This API does not allocate memory from the buffer pool.
You need to use [fill()](#fill) to initialize the **FastBuffer** object created.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| size | number | Yes|Size of the **FastBuffer** object to create, in bytes. Value range: 0 <= size <= UINT32_MAX|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | Uninitialized **FastBuffer** object.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitialized(10);
buf.fill(0);
// "buf":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
```
## fastbuffer.byteLength
byteLength(value: string | FastBuffer | TypedArray | DataView | ArrayBuffer | SharedArrayBuffer, encoding?: BufferEncoding): number
Obtains the number of bytes of a string based on the encoding format.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | string \| FastBuffer \| TypedArray \| DataView \| ArrayBuffer \| SharedArrayBuffer | Yes| Target string.|
| encoding | [BufferEncoding](#bufferencoding) | No| Encoding format. The default value is **'utf8'**. If an unrecognized encoding format is passed, TypeError is thrown.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Number of bytes of the string.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let str = '\u00bd + \u00bc = \u00be';
console.info(`${str}: ${str.length} characters, ${fastbuffer.byteLength(str, 'utf-8')} bytes`);
// Output: ½ + ¼ = ¾: 9 characters, 12 bytes
```
## fastbuffer.compare
compare(buf1: FastBuffer | Uint8Array, buf2: FastBuffer | Uint8Array): -1 | 0 | 1
Compares two **FastBuffer** objects. This API is used for sorting **FastBuffer** objects.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| buf1 | [FastBuffer](#fastbuffer) \| Uint8Array | Yes| First object to compare.|
| buf2 | [FastBuffer](#fastbuffer) \| Uint8Array | Yes| Second object to compare.|
**Return value**
| Type| Description|
| -------- | -------- |
| -1 \| 0 \| 1 | Returns **0** if **buf1** is the same as **buf2**. Returns **1** if **buf1** comes after **buf2** when sorted. Returns **-1** if **buf1** comes before **buf2** when sorted.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| -------- | -------- |
| 10200068 | The underlying ArrayBuffer is null or detach. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from('1234');
let buf2 = fastbuffer.from('0123');
let res = fastbuffer.compare(buf1, buf2);
console.info(Number(res).toString());
// Output: 1
```
## fastbuffer.concat
concat(list: FastBuffer[] | Uint8Array[], totalLength?: number): FastBuffer
Copies the content of a specified byte length from an array to a new **FastBuffer** object and returns the concatenated **FastBuffer** object.
If the total length of all objects in the array exceeds **totalLength**, the length of the returned result will be truncated to **totalLength**.
If the total length of all objects in the array is less than **totalLength**, the excess part of the returned result will be padded with zeros.
**System capability**: SystemCapability.Utils.Lang
**Atomic service API**: This API can be used in atomic services since API version 20.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| list | [FastBuffer](#fastbuffer)[] \| Uint8Array[] | Yes| Array of objects to concatenate.|
| totalLength | number | No| Total length of bytes to be copied. The default value is **0**.|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | **FastBuffer** object created.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | Range error. Possible causes: The value of the parameter is not within the specified range. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from("1234");
let buf2 = fastbuffer.from("abcd");
let buf = fastbuffer.concat([buf1, buf2]);
console.info(buf.toString('hex'));
// Output: 3132333461626364
```
## fastbuffer.from
from(array: number[]): FastBuffer
Creates a **FastBuffer** object with the specified array.
**System capability**: SystemCapability.Utils.Lang
**Atomic service API**: This API can be used in atomic services since API version 20.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| array | number[] | Yes| Array to create a **FastBuffer** object.|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | **FastBuffer** object created.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
console.info(buf.toString('hex'));
// Output: 627566666572
```
## fastbuffer.from
from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: number): FastBuffer
Creates a **FastBuffer** object of the specified length that shares memory with ArrayBuffer.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| arrayBuffer | ArrayBuffer \| SharedArrayBuffer | Yes| Target object.|
| byteOffset | number | No| Byte offset. The default value is **0**.|
| length | number | No| Length of the **FastBuffer** object to create, in bytes. The default value is **arrayBuffer.byteLength** minus **byteOffset**. Value range: 0 <= length <= arrayBuffer.byteLength - byteOffset|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | **FastBuffer** object created.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | Range error. Possible causes: The value of the parameter is not within the specified range. |
| 10200068 | The underlying ArrayBuffer is null or detach. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let ab = new ArrayBuffer(10);
let buf = fastbuffer.from(ab, 0, 2);
console.info(buf.length.toString());
// Output: 2
```
## fastbuffer.from
from(buffer: FastBuffer | Uint8Array): FastBuffer
Copies the data of a passed **FastBuffer** object to create a new **FastBuffer** object and returns the new one.
Creates a **FastBuffer** object based on the memory of a passed **Uint8Array** object and returns the new object, maintaining the memory association of the data.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| buffer | [FastBuffer](#fastbuffer) \| Uint8Array | Yes| Target object.|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | **FastBuffer** object created.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| -------- | -------- |
| 10200068 | The underlying ArrayBuffer is null or detach. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
// Create a FastBuffer object of the FastBuffer type.
let buf1 = fastbuffer.from('buffer');
let buf2 = fastbuffer.from(buf1);
console.info(buf2.toString());
// Output: buffer
// Create a FastBuffer object of the Uint8Array type to ensure memory sharing between objects.
let uint8Array = new Uint8Array(10);
let buf3 = fastbuffer.from(uint8Array);
buf3.fill(1)
console.info("uint8Array:", uint8Array)
// Output: 1,1,1,1,1,1,1,1,1,1
```
## fastbuffer.from
from(value: string, encoding?: BufferEncoding): FastBuffer
Creates a **FastBuffer** object based on a string in the given encoding format.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | string | Yes| String.|
| encoding | [BufferEncoding](#bufferencoding) | No| Encoding format. The default value is **'utf8'**. If an unrecognized encoding format is passed, TypeError is thrown.|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | **FastBuffer** object created.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from('this is a test');
let buf2 = fastbuffer.from('7468697320697320612074c3a97374', 'hex');
console.info(buf1.toString());
// Output: this is a test
console.info(buf2.toString());
// Output: this is a tést
```
## fastbuffer.isBuffer
isBuffer(obj: Object): boolean
Checks whether the specified object is a **FastBuffer** object.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| obj | Object | Yes| Object to check.|
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Check result. The value **true** is returned if the object is a **FastBuffer** object; otherwise, **false** is returned.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let result = fastbuffer.isBuffer(fastbuffer.alloc(10)); // 10: fastbuffer size
console.info("result = " + result);
// Output: result = true
let result1 = fastbuffer.isBuffer(fastbuffer.from('foo'));
console.info("result1 = " + result1);
// Output: result1 = true
let result2 = fastbuffer.isBuffer('a string');
console.info("result2 = " + result2);
// Output: result2 = false
let result3 = fastbuffer.isBuffer([]);
console.info("result3 = " + result3);
// Output: result3 = false
let result4 = fastbuffer.isBuffer(new Uint8Array(1024));
console.info("result4 = " + result4);
// Output: result4 = false
```
## fastbuffer.isEncoding
isEncoding(encoding: string): boolean
Checks whether the encoding format is supported.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| encoding | string | Yes| Encoding format.|
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Check result. The value **true** is returned if the encoding format is supported; otherwise, **false** is returned.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
console.info(fastbuffer.isEncoding('utf-8').toString());
// Output: true
console.info(fastbuffer.isEncoding('hex').toString());
// Output: true
console.info(fastbuffer.isEncoding('utf/8').toString());
// Output: false
console.info(fastbuffer.isEncoding('').toString());
// Output: false
```
## fastbuffer.transcode
transcode(source: FastBuffer | Uint8Array, fromEnc: string, toEnc: string): FastBuffer
Transcodes a **FastBuffer** or **Uint8Array** object from one encoding format to another.
This API supports the following encoding formats: 'ascii', 'utf8', 'utf16le', 'ucs2', 'latin1', and 'binary'.
**System capability**: SystemCapability.Utils.Lang
**Atomic service API**: This API can be used in atomic services since API version 20.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| source | [FastBuffer](#fastbuffer) \| Uint8Array | Yes| Target object.|
| fromEnc | string | Yes| Current encoding format. For details about the supported formats, see [BufferEncoding](#bufferencoding).|
| toEnc | string | Yes| Target encoding format. For details about the supported formats, see [BufferEncoding](#bufferencoding).|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | New **FastBuffer** object in the target encoding format.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let newBuf = fastbuffer.transcode(fastbuffer.from('buffer'), 'utf-8', 'ascii');
console.info("newBuf = " + newBuf.toString('ascii'));
// Output: newBuf = buffer
```
## FastBuffer
### Properties
**System capability**: SystemCapability.Utils.Lang
**Atomic service API**: This API can be used in atomic services since API version 20.
| Name| Type| Read-Only| Optional| Description|
| -------- | -------- | -------- | -------- | -------- |
| length | number | Yes| No| Length of the **FastBuffer** object, in bytes.|
| buffer | ArrayBuffer | Yes| No| **ArrayBuffer** object.|
| byteOffset | number | Yes| No| Offset of the **FastBuffer** object in the memory pool.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from("1236");
console.info(JSON.stringify(buf.length));
// Output: 4
let arrayBuffer = buf.buffer;
console.info(JSON.stringify(new Uint8Array(arrayBuffer)));
// Output: {"0":49,"1":50,"2":51,"3":54}
console.info(JSON.stringify(buf.byteOffset));
// Output: 0
```
### compare
compare(target: FastBuffer | Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): -1 | 0 | 1
Compares this **FastBuffer** object with another object.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| target | [FastBuffer](#fastbuffer) \| Uint8Array | Yes| Target **FastBuffer** object to compare.|
| targetStart | number | No| Offset to the start of the data to compare in the target **FastBuffer** object. The default value is **0**. Value range: 0 <= targetStart <= target.length|
| targetEnd | number | No| Offset to the end of the data to compare in the target **FastBuffer** object (not inclusive). The default value is the length of the target **FastBuffer** object. Value range: 0 <= targetEnd <= target.length|
| sourceStart | number | No| Offset to the start of the data to compare in this **FastBuffer** object. The default value is **0**. Value range: 0 <= sourceStart <= this.length|
| sourceEnd | number | No| Offset to the end of the data to compare in this **FastBuffer** object (not inclusive). The default value is the length of this **FastBuffer** object. Value range: 0 <= sourceEnd <= this.length|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Comparison result. -1: This object comes before the target object when sorted. 0: The two objects are the same. 1: This object comes after the target object when sorted.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | Range error. Possible causes: The value of the parameter is not within the specified range. |
| 10200068 | The underlying ArrayBuffer is null or detach. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from([1, 2, 3, 4, 5, 6, 7, 8, 9]);
let buf2 = fastbuffer.from([5, 6, 7, 8, 9, 1, 2, 3, 4]);
console.info(buf1.compare(buf2, 5, 9, 0, 4).toString());
// Output: 0
console.info(buf1.compare(buf2, 0, 6, 4).toString());
// Output: -1
console.info(buf1.compare(buf2, 5, 6, 5).toString());
// Output: 1
```
### copy
copy(target: FastBuffer| Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number
Copies data at the specified position in this **FastBuffer** object to the specified position in another **FastBuffer** object.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| target | [FastBuffer](#fastbuffer) \| Uint8Array | Yes| **FastBuffer** or **Uint8Array** object to which data is copied.|
| targetStart | number | No| Offset to the start position in the target object where data is copied. The default value is **0**. Value range: 0 <= targetStart <= UINT32_MAX|
| sourceStart | number | No| Offset to the start position in this **FastBuffer** object where data is copied. The default value is **0**. Value range: 0 <= sourceStart <= UINT32_MAX|
| sourceEnd | number | No| Offset to the end position in this **FastBuffer** object (not inclusive). The default value is the length of this **FastBuffer** object. Value range: 0 <= sourceEnd <= this.length|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Total length of the data copied, in bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | Range error. Possible causes: The value of the parameter is not within the specified range. |
| 10200068 | The underlying ArrayBuffer is null or detach. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.allocUninitializedFromPool(26);
let buf2 = fastbuffer.allocUninitializedFromPool(26).fill('!');
for (let i = 0; i < 26; i++) {
buf1.writeInt8(i + 97, i);
}
buf1.copy(buf2, 8, 16, 20);
console.info(buf2.toString('ascii', 0, 25));
// Output: !!!!!!!!qrst!!!!!!!!!!!!!
```
### entries
entries(): IterableIterator<[number, number]>
Creates and returns an iterator that contains key-value pairs of this **FastBuffer** object.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Return value**
| Type| Description|
| -------- | -------- |
| IterableIterator<[number, number]> | Iterator that contains the key and value, both of which are of the number type.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from('buffer');
let pair = buf.entries();
let next: IteratorResult = pair.next();
while (!next.done) {
console.info("fastbuffer: " + next.value);
/*
Output: buffer: 0,98
fastbuffer: 1,117
fastbuffer: 2,102
fastbuffer: 3,102
fastbuffer: 4,101
fastbuffer: 5,114
*/
next = pair.next();
}
```
### equals
equals(otherBuffer: Uint8Array | FastBuffer): boolean
Checks whether this **FastBuffer** object is the same as another **FastBuffer** object.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| otherBuffer | Uint8Array \| FastBuffer | Yes| **FastBuffer** object to compare.|
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Check result. The value **true** is returned if the two objects are equal byte by byte; otherwise, **false** is returned.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| -------- | -------- |
| 10200068 | The underlying ArrayBuffer is null or detach. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from('ABC');
let buf2 = fastbuffer.from('414243', 'hex');
let buf3 = fastbuffer.from('ABCD');
console.info(buf1.equals(buf2).toString());
// Output: true
console.info(buf1.equals(buf3).toString());
// Output: false
```
### fill
fill(value: string | FastBuffer | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): FastBuffer
Fills this **FastBuffer** object at the specified position. By default, data is filled cyclically.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | string \| FastBuffer \| Uint8Array \| number | Yes| Value to fill.|
| offset | number | No| Offset to the start position in this **FastBuffer** object where data is filled. The default value is **0**. Value range: 0 <= offset <= this.length|
| end | number | No| Offset to the end position in this **FastBuffer** object (not inclusive). The default value is the length of this **FastBuffer** object. Value range: 0 <= end <= this.length|
| encoding | [BufferEncoding](#bufferencoding) | No| Encoding format (valid only when **value** is a string). The default value is **'utf8'**. If an unrecognized encoding format is passed, TypeError is thrown.|
**Return value**
| Type| Description|
| -------- | -------- |
| [FastBuffer](#fastbuffer) | **FastBuffer** object filled with the specified value.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | Range error. Possible causes: The value of the parameter is not within the specified range. |
| 10200068 | The underlying ArrayBuffer is null or detach. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let b = fastbuffer.allocUninitializedFromPool(50).fill('h');
console.info(b.toString());
// Output: hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
```
### includes
includes(value: string | number | FastBuffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): boolean
Checks whether this **FastBuffer** object contains the specified value.
If **byteOffset** is a positive number, the offset is calculated from 0. If **byteOffset** is a negative number, the offset is calculated from the end.
If **byteOffset** is greater than or equal to **this.length**, **false** is returned. If **byteOffset** is less than or equal to **-this.length**, the system checks whether the value exists in the entire FastBuffer.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | string \| number \| FastBuffer \| Uint8Array | Yes| Value to match.|
| byteOffset | number | No| Number of bytes to skip before starting to check data. If **byteOffset** is a positive number, the offset is calculated from 0. If **byteOffset** is a negative number, the offset is calculated from the end. The default value is **0**.|
| encoding | [BufferEncoding](#bufferencoding) | No| Encoding format (valid only when **value** is a string). The default value is **'utf8'**. If an unrecognized encoding format is passed, TypeError is thrown.|
**Return value**
| Type| Description|
| -------- | -------- |
| boolean | Check result. The value **true** is returned if the object contains the specified value; otherwise, **false** is returned.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from('this is a buffer');
console.info(buf.includes('this').toString());
// Output: true
console.info(buf.includes('be').toString());
// Output: false
```
### indexOf
indexOf(value: string | number | FastBuffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number
Obtains the index of the first occurrence of the specified value in this **FastBuffer** object. If no match is found, **-1** is returned.
If **byteOffset** is a positive number, the offset is calculated from 0. If **byteOffset** is a negative number, the offset is calculated from the end.
If **byteOffset** is greater than or equal to **this.length**, **-1** is returned. If **byteOffset** is less than or equal to **-this.length**, the index of the first occurrence of the specified value in the FastBuffer is returned.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | string \| number \| FastBuffer \| Uint8Array | Yes| Value to match.|
| byteOffset | number | No| Number of bytes to skip before starting to check data. If **byteOffset** is a positive number, the offset is calculated from 0. If **byteOffset** is a negative number, the offset is calculated from the end. The default value is **0**.|
| encoding | [BufferEncoding](#bufferencoding) | No| Encoding format (valid only when **value** is a string). The default value is **'utf8'**. If an unrecognized encoding format is passed, TypeError is thrown.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Index obtained.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from('this is a buffer');
console.info(buf.indexOf('this').toString());
// Output: 0
console.info(buf.indexOf('is').toString());
// Output: 2
```
### keys
keys(): IterableIterator<number>
Creates and returns an iterator that contains the keys of this **FastBuffer** object.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Return value**
| Type| Description|
| -------- | -------- |
| IterableIterator<number> | Iterator created.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from('buffer');
let numbers = Array.from(buf.keys());
for (const key of numbers) {
console.info(key.toString());
/*
Output: 0
1
2
3
4
5
*/
}
```
### values
values(): IterableIterator<number>
Creates and returns an iterator that contains the values of this **FastBuffer** object.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Return value**
| Type| Description|
| -------- | -------- |
| IterableIterator<number> | Iterator.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from('buffer');
let pair = buf1.values()
let next:IteratorResult = pair.next()
while (!next.done) {
console.info(next.value.toString());
/*
Output: 98
117
102
102
101
114
*/
next = pair.next();
}
```
### lastIndexOf
lastIndexOf(value: string | number | FastBuffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number
Obtains the index of the last occurrence of the specified value in this **FastBuffer** object. If no match is found, **-1** is returned.
If **byteOffset** is a positive number, the offset is calculated from 0. If **byteOffset** is a negative number, the offset is calculated from the end.
If **byteOffset** is greater than or equal to **this.length**, the index of the last occurrence of the specified value in the FastBuffer is returned. If **byteOffset** is less than or equal to **this.length**, **-1** is returned.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | string \| number \| FastBuffer \| Uint8Array | Yes| Value to match.|
| byteOffset | number | No| Number of bytes to skip before starting to check data. If **byteOffset** is a positive number, the offset is calculated from 0. If **byteOffset** is a negative number, the offset is calculated from the end. The default value is **this.length - 1**.|
| encoding | [BufferEncoding](#bufferencoding) | No| Encoding format (valid only when **value** is a string). The default value is **'utf8'**.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Index obtained.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from('this buffer is a buffer');
console.info(buf.lastIndexOf('this').toString());
// Output: 0
console.info(buf.lastIndexOf('buffer').toString());
// Output: 17
```
### readBigInt64BE
readBigInt64BE(offset?: number): bigint
Reads a 64-bit, big-endian, signed big integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| bigint | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70,
0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]);
console.info(buf.readBigInt64BE(0).toString());
// Output: 7161960797921896816
let buf1 = fastbuffer.allocUninitializedFromPool(8);
let result = buf1.writeBigInt64BE(BigInt(0x0102030405060708), 0);
console.info("result = " + result);
// Output: result = 8
```
### readBigInt64LE
readBigInt64LE(offset?: number): bigint
Reads a 64-bit, little-endian, signed big integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| bigint | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70,
0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]);
console.info(buf.readBigInt64LE(0).toString());
// Output: 8100120198111388771
let buf1 = fastbuffer.allocUninitializedFromPool(8);
let result = buf1.writeBigInt64LE(BigInt(0xcafafecacefade), 0);
console.info("result = " + result);
// Output: result = 8
```
### readBigUInt64BE
readBigUInt64BE(offset?: number): bigint
Reads a 64-bit, big-endian, unsigned big integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| bigint | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70,
0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]);
console.info(buf.readBigUInt64BE(0).toString());
// Output: 7161960797921896816
let buf1 = fastbuffer.allocUninitializedFromPool(8);
let result = buf1.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0);
console.info("result = " + result);
// Output: result = 8
```
### readBigUInt64LE
readBigUInt64LE(offset?: number): bigint
Reads a 64-bit, little-endian, unsigned big integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| bigint | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70,
0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]);
console.info(buf.readBigUInt64LE(0).toString());
// Output: 8100120198111388771
let buf1 = fastbuffer.allocUninitializedFromPool(8);
let result = buf1.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0);
console.info("result = " + result);
// Output: result = 8
```
### readDoubleBE
readDoubleBE(offset?: number): number
Reads a 64-bit, big-endian, double-precision floating-point number from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
console.info(buf.readDoubleBE(0).toString());
// Output: 8.20788039913184e-304
let buf1 = fastbuffer.allocUninitializedFromPool(8);
let result = buf1.writeDoubleBE(123.456, 0);
console.info("result = " + result);
// Output: result = 8
```
### readDoubleLE
readDoubleLE(offset?: number): number
Reads a 64-bit, little-endian, double-precision floating-point number from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
console.info(buf.readDoubleLE(0).toString());
// Output: 5.447603722011605e-270
let buf1 = fastbuffer.allocUninitializedFromPool(8);
let result = buf1.writeDoubleLE(123.456, 0);
console.info("result = " + result);
// Output: result = 8
```
### readFloatBE
readFloatBE(offset?: number): number
Reads a 32-bit, big-endian, single-precision floating-point number from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
console.info(buf.readFloatBE(0).toString());
// Output: 2.387939260590663e-38
let buf1 = fastbuffer.allocUninitializedFromPool(4);
let result = buf1.writeFloatBE(0xcabcbcbc, 0);
console.info("result = " + result);
// Output: result = 4
```
### readFloatLE
readFloatLE(offset?: number): number
Reads a 32-bit, little-endian, single-precision floating-point number from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
console.info(buf.readFloatLE(0).toString());
// Output: 1.539989614439558e-36
let buf1 = fastbuffer.allocUninitializedFromPool(4);
let result = buf1.writeFloatLE(0xcabcbcbc, 0);
console.info("result = " + result);
// Output: result = 4
```
### readInt8
readInt8(offset?: number): number
Reads an 8-bit signed integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 1|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 1. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([-1, 5]);
console.info(buf.readInt8(0).toString());
// Output: -1
console.info(buf.readInt8(1).toString());
// Output: 5
let buf1 = fastbuffer.allocUninitializedFromPool(2);
let result = buf1.writeInt8(0x12);
console.info("result = " + result);
// Output: result = 1
```
### readInt16BE
readInt16BE(offset?: number): number
Reads a 16-bit, big-endian, signed integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 2|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 2. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0, 5]);
console.info(buf.readInt16BE(0).toString());
// Output: 5
let buf1 = fastbuffer.alloc(2);
let result = buf1.writeInt16BE(0x1234, 0);
console.info("result = " + result);
// Output: result = 2
```
### readInt16LE
readInt16LE(offset?: number): number
Reads a 16-bit, little-endian, signed integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 2|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 2. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0, 5]);
console.info(buf.readInt16LE(0).toString());
// Output: 1280
let buf1 = fastbuffer.alloc(2);
let result = buf1.writeInt16BE(0x1234, 0);
console.info("result = " + result);
// Output: result = 2
```
### readInt32BE
readInt32BE(offset?: number): number
Reads a 32-bit, big-endian, signed integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0, 0, 0, 5]);
console.info(buf.readInt32BE(0).toString());
// Output: 5
let buf1 = fastbuffer.alloc(4);
let result = buf1.writeInt32BE(0x12345678, 0);
console.info("result = " + result);
// Output: result = 4
```
### readInt32LE
readInt32LE(offset?: number): number
Reads a 32-bit, little-endian, signed integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0, 0, 0, 5]);
console.info(buf.readInt32LE(0).toString());
// Output: 83886080
let buf1 = fastbuffer.alloc(4);
let result = buf1.writeInt32BE(0x12345678, 0);
console.info("result = " + result);
// Output: result = 4
```
### readIntBE
readIntBE(offset: number, byteLength: number): number
Reads the specified number of bytes from this **FastBuffer** object at the specified offset, and interprets the result as a big-endian, two's complement signed value that supports up to 48 bits of precision.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | Yes| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - byteLength|
| byteLength | number | Yes| Number of bytes to read. Value range: 1 <= byteLength <= 6|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read. If the offset is a decimal, undefined is returned.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from("ab");
let num = buf.readIntBE(0, 1);
console.info(num.toString());
// Output: 97
let buf1 = fastbuffer.allocUninitializedFromPool(6);
let result = buf1.writeIntBE(0x123456789011, 0, 6);
console.info("result = " + result);
// Output: result = 6
```
### readIntLE
readIntLE(offset: number, byteLength: number): number
Reads the specified number of bytes from this **FastBuffer** object at the specified offset and interprets the result as a little-endian, two's complement signed value that supports up to 48 bits of precision.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | Yes| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - byteLength|
| byteLength | number | Yes| Number of bytes to read. Value range: 1 <= byteLength <= 6|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read. If the offset is a decimal, undefined is returned.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
console.info(buf.readIntLE(0, 6).toString(16));
// Output: -546f87a9cbee
let buf1 = fastbuffer.allocUninitializedFromPool(6);
let result = buf1.writeIntLE(0x123456789011, 0, 6);
console.info("result = " + result);
// Output: result = 6
```
### readUInt8
readUInt8(offset?: number): number
Reads an 8-bit unsigned integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 1|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 1. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([1, -2]);
console.info(buf.readUInt8(0).toString());
// Output: 1
console.info(buf.readUInt8(1).toString());
// Output: 254
let buf1 = fastbuffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt8(0x42);
console.info("result = " + result);
// Output: result = 1
```
### readUInt16BE
readUInt16BE(offset?: number): number
Reads a 16-bit, big-endian, unsigned integer from this **FastBuffer** object at the specified offset.
**System capability**: SystemCapability.Utils.Lang
**Atomic service API**: This API can be used in atomic services since API version 20.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 2|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 2. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x12, 0x34, 0x56]);
console.info(buf.readUInt16BE(0).toString(16));
// Output: 1234
console.info(buf.readUInt16BE(1).toString(16));
// Output: 3456
let buf1 = fastbuffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt16BE(0x1234, 0);
console.info("result = " + result);
// Output: result = 2
```
### readUInt16LE
readUInt16LE(offset?: number): number
Reads a 16-bit, little-endian, unsigned integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 2|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 2. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x12, 0x34, 0x56]);
console.info(buf.readUInt16LE(0).toString(16));
// Output: 3412
console.info(buf.readUInt16LE(1).toString(16));
// Output: 5634
let buf1 = fastbuffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt16LE(0x1234, 0);
console.info("result = " + result);
// Output: result = 2
```
### readUInt32BE
readUInt32BE(offset?: number): number
Reads a 32-bit, big-endian, unsigned integer from this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x12, 0x34, 0x56, 0x78]);
console.info(buf.readUInt32BE(0).toString(16));
// Output: 12345678
let buf1 = fastbuffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt32BE(0x12345678, 0);
console.info("result = " + result);
// Output: result = 4
```
### readUInt32LE
readUInt32LE(offset?: number): number
Reads a 32-bit, little-endian, unsigned integer from this **FastBuffer** object at the specified offset.
**System capability**: SystemCapability.Utils.Lang
**Atomic service API**: This API can be used in atomic services since API version 20.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | No| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x12, 0x34, 0x56, 0x78]);
console.info(buf.readUInt32LE(0).toString(16));
// Output: 78563412
let buf1 = fastbuffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt32LE(0x12345678, 0);
console.info("result = " + result);
// Output: result = 4
```
### readUIntBE
readUIntBE(offset: number, byteLength: number): number
Reads the specified number of bytes from this **FastBuffer** object at the specified offset, and interprets the result as an unsigned, big-endian integer that supports up to 48 bits of precision.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | Yes| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - byteLength|
| byteLength | number | Yes| Number of bytes to read. Value range: 1 <= byteLength <= 6|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read. If the offset is a decimal, undefined is returned.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
console.info(buf.readUIntBE(0, 6).toString(16));
// Output: 1234567890ab
let buf1 = fastbuffer.allocUninitializedFromPool(4);
let result = buf1.writeUIntBE(0x13141516, 0, 4);
console.info("result = " + result);
// Output: result = 4
```
### readUIntLE
readUIntLE(offset: number, byteLength: number): number
Reads the specified number of bytes from this **FastBuffer** object at the specified offset, and interprets the result as an unsigned, little-endian integer that supports up to 48 bits of precision.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| offset | number | Yes| Number of bytes to skip before starting to read data. The default value is **0**. Value range: 0 <= offset <= this.length - byteLength|
| byteLength | number | Yes| Number of bytes to read. Value range: 1 <= byteLength <= 6|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Data read. If the offset is a decimal, undefined is returned.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
console.info(buf.readUIntLE(0, 6).toString(16));
// Output: ab9078563412
let buf1 = fastbuffer.allocUninitializedFromPool(4);
let result = buf1.writeUIntLE(0x13141516, 0, 4);
console.info("result = " + result);
// Output: result = 4
```
### subarray
subarray(start?: number, end?: number): FastBuffer
Truncates this **FastBuffer** object from the specified position to create a new **FastBuffer** object.
**System capability**: SystemCapability.Utils.Lang
**Atomic service API**: This API can be used in atomic services since API version 20.
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| start | number | No| Offset to the start position in this **FastBuffer** object where data is truncated. The default value is **0**.|
| end | number | No| Offset to the end position in this **FastBuffer** object (not inclusive). The default value is the length of this **FastBuffer** object. Value range: start <= end <= this.length|
**Return value**
| Type| Description|
| -------- | -------- |
| FastBuffer | **FastBuffer** object created.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.allocUninitializedFromPool(26);
for (let i = 0; i < 26; i++) {
buf1.writeInt8(i + 97, i);
}
const buf2 = buf1.subarray(0, 3);
console.info(buf2.toString('ascii', 0, buf2.length));
// Output: abc
```
### swap16
swap16(): FastBuffer
Converts this **FastBuffer** object into an array of unsigned 16-bit integers and swaps the byte order in place.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Return value**
| Type| Description|
| -------- | -------- |
| FastBuffer | **FastBuffer** object swapped.|
**Error codes**
For details about the error codes, see [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200009 | The fastbuffer size must be a multiple of 16-bits. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
console.info(buf1.toString('hex'));
// Output: 0102030405060708
buf1.swap16();
console.info(buf1.toString('hex'));
// Output: 0201040306050807
```
### swap32
swap32(): FastBuffer
Converts this **FastBuffer** object into an array of unsigned 32-bit integers and swaps the byte order in place.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Return value**
| Type| Description|
| -------- | -------- |
| FastBuffer | **FastBuffer** object swapped.|
**Error codes**
For details about the error codes, see [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200009 | The fastbuffer size must be a multiple of 32-bits. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
console.info(buf1.toString('hex'));
// Output: 0102030405060708
buf1.swap32();
console.info(buf1.toString('hex'));
// Output: 0403020108070605
```
### swap64
swap64(): FastBuffer
Converts this **FastBuffer** object into an array of unsigned 64-bit integers and swaps the byte order in place.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Return value**
| Type| Description|
| -------- | -------- |
| FastBuffer | **FastBuffer** object swapped.|
**Error codes**
For details about the error codes, see [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200009 | The fastbuffer size must be a multiple of 64-bits. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
console.info(buf1.toString('hex'));
// Output: 0102030405060708
buf1.swap64();
console.info(buf1.toString('hex'));
// Output: 0807060504030201
```
### toJSON
toJSON(): Object
Converts this **FastBuffer** object into a JSON object.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Return value**
| Type| Description|
| -------- | -------- |
| Object | JSON object.|
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.from([0x1, 0x2, 0x3, 0x4, 0x5]);
let obj = buf1.toJSON();
console.info(JSON.stringify(obj));
// Output: {"type":"FastBuffer","data":[1,2,3,4,5]}
```
### toString
toString(encoding?: string, start?: number, end?: number): string
Converts the data at the specified position in this **FastBuffer** object into a string in the specified encoding format.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| encoding | string | No| Encoding format (valid only when **value** is a string). The default value is **'utf8'**.|
| start | number | No| Offset to the start position of the data to convert. The default value is **0**.|
| end | number | No| Offset to the end position of the data to convert. The default value is **Buffer.length**.|
**Return value**
| Type| Description|
| -------- | -------- |
| string | String. When the value of **start** is greater than or equal to **this.length** or **start** is greater than **end**, an empty string is returned.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md).
| ID| Error Message|
| -------- | -------- |
| 10200068 | The underlying ArrayBuffer is null or detach. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf1 = fastbuffer.allocUninitializedFromPool(26);
for (let i = 0; i < 26; i++) {
buf1.writeInt8(i + 97, i);
}
console.info(buf1.toString('utf-8'));
// Output: abcdefghijklmnopqrstuvwxyz
```
### write
write(str: string, offset?: number, length?: number, encoding?: string): number
Writes a string of the specified length to this **FastBuffer** object at the specified position in the given encoding format.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| str | string | Yes| String to write.|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**.|
| length | number | No| Maximum number of bytes to write. The default value is **this.length - offset**.|
| encoding | string | No| Encoding format of the string. The default value is **'utf8'**.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Number of bytes written.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | Range error. Possible causes: The value of the parameter is not within the specified range. |
| 10200068 | The underlying ArrayBuffer is null or detach. |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.alloc(256);
let len = buf.write('\u00bd + \u00bc = \u00be', 0);
console.info(`${len} bytes: ${buf.toString('utf-8', 0, len)}`);
// Output: 12 bytes: ½ + ¼ = ¾
let buffer1 = fastbuffer.alloc(10);
let length = buffer1.write('abcd', 8);
console.info("length = " + length);
// Output: length = 2
```
### writeBigInt64BE
writeBigInt64BE(value: bigint, offset?: number): number
Writes a 64-bit, big-endian, signed big integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | bigint | Yes| Data to write. Value range: -INT64_MAX <= value <= INT64_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(8);
let result = buf.writeBigInt64BE(BigInt(0x0102030405060708), 0);
console.info("result = " + result);
// Output: result = 8
```
### writeBigInt64LE
writeBigInt64LE(value: bigint, offset?: number): number
Writes a 64-bit, little-endian, signed big integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | bigint | Yes| Data to write. Value range: -INT64_MAX <= value <= INT64_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(8);
let result = buf.writeBigInt64LE(BigInt(0x0102030405060708), 0);
console.info("result = " + result);
// Output: result = 8
```
### writeBigUInt64BE
writeBigUInt64BE(value: bigint, offset?: number): number
**Atomic service API**: This API can be used in atomic services since API version 20.
Writes a 64-bit, big-endian, unsigned big integer to this **FastBuffer** object at the specified offset.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | bigint | Yes| Data to write. Value range: 0 <= value <= UINT64_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(8);
let result = buf.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0);
console.info("result = " + result);
// Output: result = 8
```
### writeBigUInt64LE
writeBigUInt64LE(value: bigint, offset?: number): number
Writes a 64-bit, little-endian, unsigned big integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | bigint | Yes| Data to write. Value range: 0 <= value <= UINT64_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(8);
let result = buf.writeBigUInt64LE(BigInt(0xdecafafecacefade), 0);
console.info("result = " + result);
// Output: result = 8
```
### writeDoubleBE
writeDoubleBE(value: number, offset?: number): number
Writes a 64-bit, big-endian, double-precision floating-point number to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: -DOUBLE_MAX <= value <= DOUBLE_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(8);
let result = buf.writeDoubleBE(123.456, 0);
console.info("result = " + result);
// Output: result = 8
```
### writeDoubleLE
writeDoubleLE(value: number, offset?: number): number
Writes a 64-bit, little-endian, double-precision floating-point number to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: -DOUBLE_MAX <= value <= DOUBLE_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 8|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(8);
let result = buf.writeDoubleLE(123.456, 0);
console.info("result = " + result);
// Output: result = 8
```
### writeFloatBE
writeFloatBE(value: number, offset?: number): number
Writes a 32-bit, big-endian, single-precision floating-point number to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: -FLOAT_MAX <= value <= FLOAT_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(8);
let result = buf.writeFloatBE(0xcafebabe, 0);
console.info("result = " + result);
// Output: result = 4
```
### writeFloatLE
writeFloatLE(value: number, offset?: number): number
Writes a 32-bit, little-endian, single-precision floating-point number to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: -FLOAT_MAX <= value <= FLOAT_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(8);
let result = buf.writeFloatLE(0xcafebabe, 0);
console.info("result = " + result);
// Output: result = 4
```
### writeInt8
writeInt8(value: number, offset?: number): number
Writes an 8-bit signed integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: -INT8_MAX <= value <= INT8_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 1|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(2);
let result = buf.writeInt8(2, 0);
console.info("result = " + result);
// Output: result = 1
let result1 = buf.writeInt8(-2, 1);
console.info("result1 = " + result1);
// Output: result1 = 2
```
### writeInt16BE
writeInt16BE(value: number, offset?: number): number
Writes a 16-bit, big-endian, signed integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: -INT16_MAX <= value <= INT16_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 2|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(2);
let result = buf.writeInt16BE(0x0102, 0);
console.info("result = " + result);
// Output: result = 2
```
### writeInt16LE
writeInt16LE(value: number, offset?: number): number
Writes a 16-bit, little-endian, signed integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: -INT16_MAX <= value <= INT16_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 2|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(2);
let result = buf.writeInt16LE(0x0304, 0);
console.info("result = " + result);
// Output: result = 2
```
### writeInt32BE
writeInt32BE(value: number, offset?: number): number
Writes a 32-bit, big-endian, signed integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: -INT32_MAX <= value <= INT32_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(4);
let result = buf.writeInt32BE(0x01020304, 0);
console.info("result = " + result);
// Output: result = 4
```
### writeInt32LE
writeInt32LE(value: number, offset?: number): number
Writes a 32-bit, little-endian, signed integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: -INT32_MAX <= value <= INT32_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 4|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(4);
let result = buf.writeInt32LE(0x05060708, 0);
console.info("result = " + result);
// Output: result = 4
```
### writeIntBE
writeIntBE(value: number, offset: number, byteLength: number): number
Writes a big-endian signed value of the specified length to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. The value range depends on **byteLength**. |
| offset | number | Yes| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - byteLength|
| byteLength | number | Yes| Number of bytes to write.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(6);
let result = buf.writeIntBE(0x1234567890ab, 0, 6);
console.info("result = " + result);
// Output: result = 6
```
### writeIntLE
writeIntLE(value: number, offset: number, byteLength: number): number
Writes a little-endian signed value of the specified length to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. The value range depends on **byteLength**.|
| offset | number | Yes| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - byteLength|
| byteLength | number | Yes| Number of bytes to write.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(6);
let result = buf.writeIntLE(0x1234567890ab, 0, 6);
console.info("result = " + result);
// Output: result = 6
```
### writeUInt8
writeUInt8(value: number, offset?: number): number
Writes an 8-bit unsigned integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: 0 <= value <= UINT8_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 1|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(4);
let result = buf.writeUInt8(0x3, 0);
console.info("result = " + result);
// Output: result = 1
let result1 = buf.writeUInt8(0x4, 1);
console.info("result1 = " + result1);
// Output: result1 = 2
let result2 = buf.writeUInt8(0x23, 2);
console.info("result2 = " + result2);
// Output: result2 = 3
let result3 = buf.writeUInt8(0x42, 3);
console.info("result3 = " + result3);
// Output: result3 = 4
```
### writeUInt16BE
writeUInt16BE(value: number, offset?: number): number
Writes a 16-bit, big-endian, unsigned integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: 0 <= value <= UINT16_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 2|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(4);
let result = buf.writeUInt16BE(0xdead, 0);
console.info("result = " + result);
// Output: result = 2
let result1 = buf.writeUInt16BE(0xbeef, 2);
console.info("result1 = " + result1);
// Output: result1 = 4
```
### writeUInt16LE
writeUInt16LE(value: number, offset?: number): number
Writes a 16-bit, little-endian, unsigned integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: 0 <= value <= UINT16_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 2|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(4);
let result = buf.writeUInt16LE(0xdead, 0);
console.info("result = " + result);
// Output: result = 2
let result1 = buf.writeUInt16LE(0xbeef, 2);
console.info("result1 = " + result1);
// Output: result1 = 4
```
### writeUInt32BE
writeUInt32BE(value: number, offset?: number): number
Writes a 32-bit, big-endian, unsigned integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: 0 <= value <= UINT32_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 4.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(4);
let result = buf.writeUInt32BE(0xfeedface, 0);
console.info("result = " + result);
// Output: result = 4
```
### writeUInt32LE
writeUInt32LE(value: number, offset?: number): number
Writes a 32-bit, little-endian, unsigned integer to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. Value range: 0 <= value <= UINT32_MAX|
| offset | number | No| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - 4.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(4);
let result = buf.writeUInt32LE(0xfeedface, 0);
console.info("result = " + result);
// Output: result = 4
```
### writeUIntBE
writeUIntBE(value: number, offset: number, byteLength: number): number
Writes an unsigned big-endian value of the specified length to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. The value range depends on **byteLength**.|
| offset | number | Yes| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - byteLength|
| byteLength | number | Yes| Number of bytes to write.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(6);
let result = buf.writeUIntBE(0x1234567890ab, 0, 6);
console.info("result = " + result);
// Output: result = 6
```
### writeUIntLE
writeUIntLE(value: number, offset: number, byteLength: number): number
Writes an unsigned little-endian value of the specified length to this **FastBuffer** object at the specified offset.
**Atomic service API**: This API can be used in atomic services since API version 20.
**System capability**: SystemCapability.Utils.Lang
**Parameters**
| Name| Type| Mandatory| Description|
| -------- | -------- | -------- | -------- |
| value | number | Yes| Data to write. The value range depends on **byteLength**.|
| offset | number | Yes| Number of bytes to skip before starting to write data. The default value is **0**. Value range: 0 <= offset <= this.length - byteLength|
| byteLength | number | Yes| Number of bytes to write.|
**Return value**
| Type| Description|
| -------- | -------- |
| number | Offset plus the number of written bytes.|
**Error codes**
For details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [Utils Error Codes](errorcode-utils.md).
| ID| Error Message|
| -------- | -------- |
| 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] |
**Example**
```ts
import { fastbuffer } from '@kit.ArkTS';
let buf = fastbuffer.allocUninitializedFromPool(6);
let result = buf.writeUIntLE(0x1234567890ab, 0, 6);
console.info("result = " + result);
// Output: result = 6
```