@ohos.buffer (Buffer)

A Buffer object represents a byte sequence of a fixed length. It is used to store binary data.

You can use the APIs provided by the Buffer module to process images and a large amount of binary data, and receive or upload files.

NOTE

The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import buffer from '@ohos.buffer';

BufferEncoding

Enumerates the supported encoding formats.

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' ASCII format.
'binary' Binary format.
'hex' Hexadecimal format.

buffer.alloc

alloc(size: number, fill?: string | Buffer | number, encoding?: BufferEncoding): Buffer

Creates and initializes a Buffer instance of the specified length.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
size number Yes Size of the Buffer instance to create, in bytes.
fill string | Buffer | number No Value to be filled in the buffer. The default value is 0.
encoding BufferEncoding No Encoding format (valid only when fill is a string). The default value is 'utf8'.

Return value

Type Description
Buffer Buffer instance created.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.alloc(5);
let buf2 = buffer.alloc(5, 'a');
let buf3 = buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');

buffer.allocUninitializedFromPool

allocUninitializedFromPool(size: number): Buffer

Creates a Buffer instance of the specified size from the buffer pool, without initializing it. You need to use fill() to initialize the Buffer instance created.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
size number Yes Size of the Buffer instance to create, in bytes.

Return value

Type Description
Buffer Uninitialized Buffer instance.

Example

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(10);
buf.fill(0);

buffer.allocUninitialized

allocUninitialized(size: number): Buffer

Creates a Buffer instance of the specified size, without initializing it. This API does not allocate memory from the buffer pool. You need to use fill() to initialize the Buffer instance created.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
size number Yes Size of the Buffer instance to create, in bytes.

Return value

Type Description
Buffer Uninitialized Buffer instance.

Example

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitialized(10);
buf.fill(0);

buffer.byteLength

byteLength(string: string | Buffer | TypedArray | DataView | ArrayBuffer | SharedArrayBuffer, encoding?: BufferEncoding): number

Obtains the number of bytes of a string based on the encoding format.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
string string | Buffer | TypedArray | DataView | ArrayBuffer | SharedArrayBuffer Yes Target string.
encoding BufferEncoding No Encoding format of the string. The default value is 'utf8'.

Return value

Type Description
number Number of bytes of the string.

Example

import buffer from '@ohos.buffer';

let str = '\u00bd + \u00bc = \u00be';
console.log(`${str}: ${str.length} characters, ${buffer.byteLength(str, 'utf-8')} bytes`);
// Print: ½ + ¼ = ¾: 9 characters, 12 bytes

buffer.compare

compare(buf1: Buffer | Uint8Array, buf2: Buffer | Uint8Array): -1 | 0 | 1

Compares two Buffer instances. This API is used for sorting Buffer instances.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
buf1 Buffer | Uint8Array Yes Buffer instance to compare.
buf2 Buffer | Uint8Array Yes Buffer instance 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.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from('1234');
let buf2 = buffer.from('0123');
let res = buf1.compare(buf2);

console.log(Number(res).toString()); // Print 1.

buffer.concat

concat(list: Buffer[] | Uint8Array[], totalLength?: number): Buffer

Concatenates an array of Buffer instances of the specified length into a new instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
list Buffer[] | Uint8Array[] Yes Array of instances to concatenate.
totalLength number No Total length of bytes to be copied. The default value is 0.

Return value

Type Description
Buffer Buffer instance created.

Error codes

For details about the error codes, see Utils Error Codes.

ID Error Message
10200001 The value of "length" is out of range. It must be >= 0 and <= uint32 max. Received value is: [length]

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from("1234");
let buf2 = buffer.from("abcd");
let buf = buffer.concat([buf1, buf2]);
console.log(buf.toString('hex')); // 3132333461626364

buffer.from

from(array: number[]): Buffer;

Creates a Buffer instance with the specified array.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
array number[] Yes Array to create a Buffer instance.

Return value

Type Description
Buffer Buffer instance created.

Example

import buffer from '@ohos.buffer';

let buf = buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
console.log(buf.toString('hex')); // 627566666572

buffer.from

from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: number): Buffer

Creates a Buffer instance of the specified length that shares memory with arrayBuffer.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
arrayBuffer ArrayBuffer | SharedArrayBuffer Yes Array of Buffer instances, whose memory is to be shared.
byteOffset number No Byte offset. The default value is 0.
length number No Length of the Buffer instance to create, in bytes. The default value is arrayBuffer.byteLength minus byteOffset.

Return value

Type Description
Buffer Buffer instance with shared memory.

Error codes

For details about the error codes, see Utils Error Codes.

ID Error Message
10200001 The value of "[byteOffset/length]" is out of range.

Example

import buffer from '@ohos.buffer';

let ab = new ArrayBuffer(10);
let buf = buffer.from(ab, 0, 2);

buffer.from

from(buffer: Buffer | Uint8Array): Buffer

Creates a Buffer instance with the copy of another instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
buffer Buffer | Uint8Array Yes Buffer instance to copy.

Return value

Type Description
Buffer Buffer instance created.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from('buffer');
let buf2 = buffer.from(buf1);

buffer.from

from(object: Object, offsetOrEncoding: number | string, length: number): Buffer

Creates a Buffer instance based on the specified object.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
object Object Yes Object that supports Symbol.toPrimitive or valueOf().
offsetOrEncoding number | string Yes Byte offset or encoding format.
length number Yes Length of the Buffer instance to create, in bytes. This parameter is valid only when the return value of valueOf() of object is arraybuffer. In other cases, you can set this parameter to any value of the number type. This parameter does not affect the result.

Return value

Type Description
Buffer Buffer instance created.

Example

import buffer from '@ohos.buffer';

let buf = buffer.from(new String('this is a test'), 'utf8', 14);

buffer.from

from(string: String, encoding?: BufferEncoding): Buffer

Creates a Buffer instance based on a string in the given encoding format.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
string String Yes String.
encoding BufferEncoding No Encoding format of the string. The default value is 'utf8'.

Return value

Type Description
Buffer Buffer instance created.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from('this is a test');
let buf2 = buffer.from('7468697320697320612074c3a97374', 'hex');

console.log (buf1.toString()); // Print: this is a test
console.log (buf2.toString()); // print: this is a test

buffer.isBuffer

isBuffer(obj: Object): boolean

Checks whether the specified object is a Buffer instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
obj Object Yes Object to check.

Return value

Type Description
boolean Returns true if the object is a Buffer instance; returns false otherwise.

Example

import buffer from '@ohos.buffer';

let result = buffer.isBuffer(buffer.alloc(10)); // true
let result1 = buffer.isBuffer(buffer.from('foo')); // true
let result2 = buffer.isBuffer('a string'); // false
let result3 = buffer.isBuffer([]); // false
let result4 = buffer.isBuffer(new Uint8Array(1024)); // false

buffer.isEncoding

isEncoding(encoding: string): boolean

Checks whether the encoding format is supported.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
encoding string Yes Encoding format.

Return value

Type Description
boolean Returns true if the encoding format is supported; returns false otherwise.

Example

import buffer from '@ohos.buffer';

console.log(buffer.isEncoding('utf-8').toString());	// Print: true
console.log(buffer.isEncoding('hex').toString());	// Print: true
console.log(buffer.isEncoding('utf/8').toString());	// Print: false
console.log(buffer.isEncoding('').toString());	// Print: false

buffer.transcode

transcode(source: Buffer | Uint8Array, fromEnc: string, toEnc: string): Buffer

Transcodes the given Buffer or Uint8Array object from one encoding format to another.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
source Buffer | Uint8Array Yes Instance to encode.
fromEnc string Yes Current encoding format.
toEnc string Yes Target encoding format.

Return value

Type Description
Buffer New Buffer instance in the target encoding format.

Example

import buffer from '@ohos.buffer';

let newBuf = buffer.transcode(buffer.from('€'), 'utf-8', 'ascii');
console.log(newBuf.toString('ascii'));

Buffer

Attributes

System capability: SystemCapability.Utils.Lang

Name Type Readable Writable Description
length number Yes No Length of the Buffer instance, in bytes.
buffer ArrayBuffer Yes No ArrayBuffer object.
byteOffset number Yes No Offset of the Buffer instance in the memory pool.

Error codes

For details about the error codes, see Utils Error Codes.

ID Error Message
10200013 Cannot set property ${propertyName} of Buffer which has only a getter.

Example

import buffer from '@ohos.buffer';

let buf = buffer.from("1236");
console.log(JSON.stringify(buf.length));
let arrayBuffer = buf.buffer;
console.log(JSON.stringify(new Uint8Array(arrayBuffer)));
console.log(JSON.stringify(buf.byteOffset));

compare

compare(target: Buffer | Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): -1 | 0 | 1

Compares this Buffer instance with another instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
target Buffer | Uint8Array Yes Target Buffer instance to compare.
targetStart number No Offset to the start of the data to compare in the target Buffer instance. The default value is 0.
targetEnd number No Offset to the end of the data to compare in the target Buffer instance (not inclusive). The default value is the length of the target Buffer instance.
sourceStart number No Offset to the start of the data to compare in this Buffer instance. The default value is 0.
sourceEnd number No Offset to the end of the data to compare in this Buffer instance (not inclusive). The default value is the length of this Buffer instance.

Return value

Type Description
number Returns 0 if the two Buffer instances are the same.
Returns 1 if this instance comes after the target instance when sorted.
Returns -1 if this instance comes before the target instance when sorted.

Error codes

For details about the error codes, see Utils Error Codes.

ID Error Message
10200001 The value of "[targetStart/targetEnd/sourceStart/sourceEnd]" is out of range.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from([1, 2, 3, 4, 5, 6, 7, 8, 9]);
let buf2 = buffer.from([5, 6, 7, 8, 9, 1, 2, 3, 4]);

console.log(buf1.compare(buf2, 5, 9, 0, 4).toString());	// Print: 0
console.log(buf1.compare(buf2, 0, 6, 4).toString());	// Print: -1
console.log(buf1.compare(buf2, 5, 6, 5).toString());	// Print: 1

copy

copy(target: Buffer| Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number

Copies data at the specified position in this Buffer instance to the specified position in another Buffer instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
target Buffer | Uint8Array Yes Instance to which data is copied.
targetStart number No Offset to the start position in the target instance where data is copied. The default value is 0.
sourceStart number No Offset to the start position in this Buffer instance where data is copied. The default value is 0.
sourceEnd number No Offset to the end position in this Buffer instance (not inclusive). The default value is the length of this Buffer instance.

Return value

Type Description
number Total length of the data copied, in bytes.

Error codes

For details about the error codes, see Utils Error Codes.

ID Error Message
10200001 The value of "[targetStart/sourceStart/sourceEnd]" is out of range.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.allocUninitializedFromPool(26);
let buf2 = buffer.allocUninitializedFromPool(26).fill('!');

for (let i = 0; i < 26; i++) {
  buf1.writeInt8(i + 97, i);
}

buf1.copy(buf2, 8, 16, 20);
console.log(buf2.toString('ascii', 0, 25));
// Print: !!!!!!! qrst!!!!!!!!!!!!!

entries

entries(): IterableIterator<[number, number]>

Creates and returns an iterator that contains key-value pairs of this Buffer instance.

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

import buffer from '@ohos.buffer';

let buf = buffer.from('buffer');
let pair = buf.entries();
let next: IteratorResult<Object[]> = pair.next();
while (!next.done) {
  console.info("buffer: " + next.value);
  next = pair.next();
}

equals

equals(otherBuffer: Uint8Array | Buffer): boolean

Checks whether this Buffer instance is the same as another Buffer instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
otherBuffer Uint8Array | Buffer Yes Buffer instance to compare.

Return value

Type Description
boolean Returns true if the two instances are the same; returns false otherwise.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from('ABC');
let buf2 = buffer.from('414243', 'hex');
let buf3 = buffer.from('ABCD');

console.log(buf1.equals(buf2).toString());	// Print: true
console.log(buf1.equals(buf3).toString());	// Print: false

fill

fill(value: string | Buffer | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): Buffer

Fills this Buffer instance at the specified position. By default, data is filled cyclically.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value string | Buffer | Uint8Array | number Yes Value to fill.
offset number No Offset to the start position in this Buffer instance where data is filled. The default value is 0.
end number No Offset to the end position in this Buffer instance (not inclusive). The default value is the length of this Buffer instance.
encoding BufferEncoding No Encoding format (valid only when value is a string). The default value is 'utf8'.

Return value

Type Description
Buffer Buffer instance filled with the specified value.

Error codes

For details about the error codes, see Utils Error Codes.

ID Error Message
10200001 The value of "[offset/end]" is out of range.

Example

import buffer from '@ohos.buffer';

let b = buffer.allocUninitializedFromPool(50).fill('h');
console.log(b.toString());

includes

includes(value: string | number | Buffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): boolean

Checks whether this Buffer instance contains the specified value.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value string | number | Buffer | Uint8Array Yes Value to match.
byteOffset number No Number of bytes to skip before starting to check data. If the offset is a negative number, data is checked from the end of the Buffer instance. The default value is 0.
encoding BufferEncoding No Encoding format (valid only when value is a string). The default value is 'utf8'.

Return value

Type Description
boolean Returns true if the instance contains the specified value; returns false otherwise.

Example

import buffer from '@ohos.buffer';

let buf = buffer.from('this is a buffer');
console.log(buf.includes('this').toString());	// Print: true
console.log(buf.includes('be').toString());	// Print: false

indexOf

indexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number

Obtains the index of the first occurrence of the specified value in this Buffer instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value string | number | Buffer | Uint8Array Yes Value to match.
byteOffset number No Number of bytes to skip before starting to check data. If the offset is a negative number, data is checked from the end of the Buffer instance. The default value is 0.
encoding BufferEncoding No Encoding format (valid only when value is a string). The default value is 'utf8'.

Return value

Type Description
number Index obtained.
If -1 is returned, the Buffer instance does not contain the specified value.

Example

import buffer from '@ohos.buffer';

let buf = buffer.from('this is a buffer');
console.log(buf.indexOf('this').toString());	// Print: 0
console.log(buf.indexOf('is').toString());		// Print: 2

keys

keys(): IterableIterator<number>

Creates and returns an iterator that contains the keys of this Buffer instance.

System capability: SystemCapability.Utils.Lang

Return value

Type Description
IterableIterator<number> Iterator created.

Example

import buffer from '@ohos.buffer';

let buf = buffer.from('buffer');
let numbers = Array.from(buf.values());
for (const key of numbers) {
  console.log(key.toString());
}

lastIndexOf

lastIndexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number

Obtains the index of the last occurrence of the specified value in this Buffer instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value string | number | Buffer | Uint8Array Yes Value to match.
byteOffset number No Number of bytes to skip before starting to check data. If the offset is a negative number, data is checked from the end of the Buffer instance. The default value is 0.
encoding BufferEncoding No Encoding format (valid only when value is a string). The default value is 'utf8'.

Return value

Type Description
number Index obtained.
If -1 is returned, the Buffer instance does not contain the specified value.

Example

import buffer from '@ohos.buffer';

let buf = buffer.from('this buffer is a buffer');
console.log(buf.lastIndexOf('this').toString());	// Print: 0
console.log(buf.lastIndexOf('buffer').toString());	// Print: 17

readBigInt64BE

readBigInt64BE(offset?: number): bigint

Reads a 64-bit, big-endian, signed big integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 8].

Return value

Type Description
bigint Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, 
        0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]);
console.log(buf.readBigInt64BE(0).toString());

let buf1 = buffer.allocUninitializedFromPool(8);
let result = buf1.writeBigInt64BE(BigInt(0x0102030405060708), 0);

readBigInt64LE

readBigInt64LE(offset?: number): bigint

Reads a 64-bit, little-endian, signed big integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 8].

Return value

Type Description
bigint Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, 
        0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]);
console.log(buf.readBigInt64LE(0).toString());

let buf1 = buffer.allocUninitializedFromPool(8);
let result = buf1.writeBigInt64BE(BigInt(0x0102030405060708), 0);

readBigUInt64BE

readBigUInt64BE(offset?: number): bigint

Reads a 64-bit, big-endian, unsigned big integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 8].

Return value

Type Description
bigint Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, 
        0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]);
console.log(buf.readBigUInt64BE(0).toString());

let buf1 = buffer.allocUninitializedFromPool(8);
let result = buf1.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0);

readBigUInt64LE

readBigUInt64LE(offset?: number): bigint

Reads a 64-bit, little-endian, unsigned big integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 8].

Return value

Type Description
bigint Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, 
        0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]);
console.log(buf.readBigUInt64LE(0).toString());

let buf1 = buffer.allocUninitializedFromPool(8);
let result = buf1.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0);

readDoubleBE

readDoubleBE(offset?: number): number

Reads a 64-bit, big-endian, double-precision floating-point number from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 8].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
console.log(buf.readDoubleBE(0).toString());

let buf1 = buffer.allocUninitializedFromPool(8);
let result = buf1.writeDoubleBE(123.456, 0);

readDoubleLE

readDoubleLE(offset?: number): number

Reads a 64-bit, little-endian, double-precision floating-point number from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 8].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
console.log(buf.readDoubleLE(0).toString());

let buf1 = buffer.allocUninitializedFromPool(8);
let result = buf1.writeDoubleLE(123.456, 0);

readFloatBE

readFloatBE(offset?: number): number

Reads a 32-bit, big-endian, single-precision floating-point number from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
console.log(buf.readFloatBE(0).toString());

let buf1 = buffer.allocUninitializedFromPool(4);
let result = buf1.writeFloatBE(0xcabcbcbc, 0);

readFloatLE

readFloatLE(offset?: number): number

Reads a 32-bit, little-endian, single-precision floating-point number from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]);
console.log(buf.readFloatLE(0).toString());

let buf1 = buffer.allocUninitializedFromPool(4);
let result = buf1.writeFloatLE(0xcabcbcbc, 0);

readInt8

readInt8(offset?: number): number

Reads an 8-bit signed integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 1].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([-1, 5]);
console.log(buf.readInt8(0).toString());	// Print: 0
console.log(buf.readInt8(1).toString());	// Print: 5

let buf1 = buffer.allocUninitializedFromPool(2);
let result = buf1.writeInt8(0x12);

readInt16BE

readInt16BE(offset?: number): number

Reads a 16-bit, big-endian, signed integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 2].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0, 5]);
console.log(buf.readInt16BE(0).toString());	// Print: 5

let buf1 = buffer.alloc(2);
let result = buf1.writeInt16BE(0x1234, 0);

readInt16LE

readInt16LE(offset?: number): number

Reads a 16-bit, little-endian, signed integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 2].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0, 5]);
console.log(buf.readInt16LE(0).toString());	// Print: 1280

let buf1 = buffer.alloc(2);
let result = buf1.writeInt16BE(0x1234, 0);

readInt32BE

readInt32BE(offset?: number): number

Reads a 32-bit, big-endian, signed integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0, 0, 0, 5]);
console.log(buf.readInt32BE(0).toString());	// Print: 5

let buf1 = buffer.alloc(4);
let result = buf1.writeInt32BE(0x12345678, 0);

readInt32LE

readInt32LE(offset?: number): number

Reads a 32-bit, little-endian, signed integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0, 0, 0, 5]);
console.log(buf.readInt32LE(0).toString());	// Print: 83886080

let buf1 = buffer.alloc(4);
let result = buf1.writeInt32BE(0x12345678, 0);

readIntBE

readIntBE(offset: number, byteLength: number): number

Reads the specified number of bytes from this Buffer instance 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.

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. The value range is [0, Buffer.length - byteLength].
byteLength number Yes Number of bytes to read.

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from("ab");
let num = buf.readIntBE(0, 1);
console.log(num.toString()); // 97

let buf1 = buffer.allocUninitializedFromPool(6);
let result = buf1.writeIntBE(0x123456789011, 0, 6);

readIntLE

readIntLE(offset: number, byteLength: number): number

Reads the specified number of bytes from this Buffer instance 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.

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. The value range is [0, Buffer.length - byteLength].
byteLength number Yes Number of bytes to read.

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
console.log(buf.readIntLE(0, 6).toString(16));

let buf1 = buffer.allocUninitializedFromPool(6);
let result = buf1.writeIntLE(0x123456789011, 0, 6);

readUInt8

readUInt8(offset?: number): number

Reads an 8-bit unsigned integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 1].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([1, -2]);
console.log(buf.readUInt8(0).toString());
console.log(buf.readUInt8(1).toString());

let buf1 = buffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt8(0x42);

readUInt16BE

readUInt16BE(offset?: number): number

Reads a 16-bit, big-endian, unsigned integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 2].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x12, 0x34, 0x56]);
console.log(buf.readUInt16BE(0).toString(16));
console.log(buf.readUInt16BE(1).toString(16));

let buf1 = buffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt16BE(0x1234, 0);

readUInt16LE

readUInt16LE(offset?: number): number

Reads a 16-bit, little-endian, unsigned integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 2].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x12, 0x34, 0x56]);
console.log(buf.readUInt16LE(0).toString(16));
console.log(buf.readUInt16LE(1).toString(16));

let buf1 = buffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt16LE(0x1234, 0);

readUInt32BE

readUInt32BE(offset?: number): number

Reads a 32-bit, big-endian, unsigned integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x12, 0x34, 0x56, 0x78]);
console.log(buf.readUInt32BE(0).toString(16));

let buf1 = buffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt32BE(0x12345678, 0);

readUInt32LE

readUInt32LE(offset?: number): number

Reads a 32-bit, little-endian, unsigned integer from this Buffer instance at the specified offset.

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. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x12, 0x34, 0x56, 0x78]);
console.log(buf.readUInt32LE(0).toString(16));

let buf1 = buffer.allocUninitializedFromPool(4);
let result = buf1.writeUInt32LE(0x12345678, 0);

readUIntBE

readUIntBE(offset: number, byteLength: number): number

Reads the specified number of bytes from this Buffer instance at the specified offset, and interprets the result as an unsigned, big-endian integer that supports up to 48 bits of precision.

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. The value range is [0, Buffer.length - byteLength].
byteLength number Yes Number of bytes to read.

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
console.log(buf.readUIntBE(0, 6).toString(16));

let buf1 = buffer.allocUninitializedFromPool(4);
let result = buf1.writeUIntBE(0x13141516, 0, 4);

readUIntLE

readUIntLE(offset: number, byteLength: number): number

Reads the specified number of bytes from this Buffer instance at the specified offset, and interprets the result as an unsigned, little-endian integer that supports up to 48 bits of precision.

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. The value range is [0, Buffer.length - byteLength].
byteLength number Yes Number of bytes to read.

Return value

Type Description
number Data read.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]);
console.log(buf.readUIntLE(0, 6).toString(16));

let buf1 = buffer.allocUninitializedFromPool(4);
let result = buf1.writeUIntLE(0x13141516, 0, 4);

subarray

subarray(start?: number, end?: number): Buffer

Truncates this Buffer instance from the specified position to create a new Buffer instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
start number No Offset to the start position in this Buffer instance where data is truncated. The default value is 0.
end number No Offset to the end position in this Buffer instance (not inclusive). The default value is the length of this Buffer instance.

Return value

Type Description
Buffer Buffer instance created.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.allocUninitializedFromPool(26);

for (let i = 0; i < 26; i++) {
  buf1.writeInt8(i + 97, i);
}
const buf2 = buf1.subarray(0, 3);
console.log(buf2.toString('ascii', 0, buf2.length));
// Print: abc

swap16

swap16(): Buffer

Interprets this Buffer instance as an array of unsigned 16-bit integers and swaps the byte order in place.

System capability: SystemCapability.Utils.Lang

Return value

Type Description
Buffer Buffer instance swapped.

Error codes

For details about the error codes, see Utils Error Codes.

ID Error Message
10200009 Buffer size must be a multiple of 16-bits

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
console.log(buf1.toString('hex'));	// Print: 0102030405060708

buf1.swap16();
console.log(buf1.toString('hex'));	// Print: 0201040306050807

swap32

swap32(): Buffer

Interprets this Buffer instance as an array of unsigned 32-bit integers and swaps the byte order in place.

System capability: SystemCapability.Utils.Lang

Return value

Type Description
Buffer Buffer instance swapped.

Error codes

For details about the error codes, see Utils Error Codes.

ID Error Message
10200009 Buffer size must be a multiple of 32-bits

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
console.log(buf1.toString('hex'));	// Print: 0102030405060708

buf1.swap32();
console.log(buf1.toString('hex'));	// Print: 0403020108070605

swap64

swap64(): Buffer

Interprets this Buffer instance as an array of unsigned 64-bit integers and swaps the byte order in place.

System capability: SystemCapability.Utils.Lang

Return value

Type Description
Buffer Buffer instance swapped.

Error codes

For details about the error codes, see Utils Error Codes.

ID Error Message
10200009 Buffer size must be a multiple of 64-bits

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from([0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]);
console.log(buf1.toString('hex'));	// Print: 0102030405060708
buf1.swap64();
console.log(buf1.toString('hex'));	// Print: 0807060504030201

toJSON

toJSON(): Object

Converts this Buffer instance into a JSON object.

System capability: SystemCapability.Utils.Lang

Return value

Type Description
Object JSON object.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]);
let obj = buf1.toJSON();
console.log(JSON.stringify(obj));
// Print: {"type":"Buffer","data":[1,2,3,4,5]}

toString

toString(encoding?: string, start?: number, end?: number): string

Converts the data at the specified position in this Buffer instance into a string in the specified encoding format.

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 the length of this Buffer instance.

Return value

Type Description
string String obtained.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.allocUninitializedFromPool(26);
for (let i = 0; i < 26; i++) {
  buf1.writeInt8(i + 97, i);
}
console.log(buf1.toString('utf-8'));
// Print: abcdefghijklmnopqrstuvwxyz

values

values(): IterableIterator<number>

Creates and returns an iterator that contains the values of this Buffer instance.

System capability: SystemCapability.Utils.Lang

Return value

Type Description
IterableIterator<number> Iterator.

Example

import buffer from '@ohos.buffer';

let buf1 = buffer.from('buffer');
let pair = buf1.values()
let next:IteratorResult<number> = pair.next()
while (!next.done) {
  console.log(next.value.toString());
  next = pair.next();
}

write

write(str: string, offset?: number, length?: number, encoding?: string): number

Writes a string of the specified length to this Buffer instance at the specified position in the given encoding format.

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 the length of the Buffer instance minus the 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 Utils Error Codes.

ID Error Message
10200001 The value of "[offset/length]" is out of range. It must be >= 0 and <= buf.length. Received value is: [offset/length].

Example

import buffer from '@ohos.buffer';

let buf = buffer.alloc(256);
let len = buf.write('\u00bd + \u00bc = \u00be', 0);
console.log(`${len} bytes: ${buf.toString('utf-8', 0, len)}`);
// Print: 12 bytes: ½ + ¼ = ¾

let buffer1 = buffer.alloc(10);
let length = buffer1.write('abcd', 8);

writeBigInt64BE

writeBigInt64BE(value: bigint, offset?: number): number

Writes a 64-bit, big-endian, signed big integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value bigint Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 8].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(8);
let result = buf.writeBigInt64BE(BigInt(0x0102030405060708), 0);

writeBigInt64LE

writeBigInt64LE(value: bigint, offset?: number): number

Writes a 64-bit, little-endian, signed big integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value bigint Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 8].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(8);
let result = buf.writeBigInt64LE(BigInt(0x0102030405060708), 0);

writeBigUInt64BE

writeBigUInt64BE(value: bigint, offset?: number): number

Writes a 64-bit, big-endian, unsigned big integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value bigint Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 8].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(8);
let result = buf.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0);

writeBigUInt64LE

writeBigUInt64LE(value: bigint, offset?: number): number

Writes a 64-bit, little-endian, unsigned big integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value bigint Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 8].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(8);
let result = buf.writeBigUInt64LE(BigInt(0xdecafafecacefade), 0);

writeDoubleBE

writeDoubleBE(value: number, offset?: number): number

Writes a 64-bit, big-endian, double-precision floating-point number to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 8].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(8);
let result = buf.writeDoubleBE(123.456, 0);

writeDoubleLE

writeDoubleLE(value: number, offset?: number): number

Writes a 64-bit, little-endian, double-precision floating-point number to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(8);
let result = buf.writeDoubleLE(123.456, 0);

writeFloatBE

writeFloatBE(value: number, offset?: number): number

Writes a 32-bit, big-endian, single-precision floating-point number to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(8);
let result = buf.writeFloatBE(0xcafebabe, 0);

writeFloatLE

writeFloatLE(value: number, offset?: number): number

Writes a 32-bit, little-endian, single-precision floating-point number to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(8);
let result = buf.writeFloatLE(0xcafebabe, 0);

writeInt8

writeInt8(value: number, offset?: number): number

Writes an 8-bit signed integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 1].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(2);
let result = buf.writeInt8(2, 0);
let result1 = buf.writeInt8(-2, 1);

writeInt16BE

writeInt16BE(value: number, offset?: number): number

Writes a 16-bit, big-endian, signed integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 2].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(2);
let result = buf.writeInt16BE(0x0102, 0);

writeInt16LE

writeInt16LE(value: number, offset?: number): number

Writes a 16-bit, little-endian, signed integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 2].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(2);
let result = buf.writeInt16LE(0x0304, 0);

writeInt32BE

writeInt32BE(value: number, offset?: number): number

Writes a 32-bit, big-endian, signed integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(4);
let result = buf.writeInt32BE(0x01020304, 0);

writeInt32LE

writeInt32LE(value: number, offset?: number): number

Writes a 32-bit, little-endian, signed integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(4);
let result = buf.writeInt32LE(0x05060708, 0);

writeIntBE

writeIntBE(value: number, offset: number, byteLength: number): number

Writes a big-endian signed value of the specified length to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number Yes Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - byteLength].
byteLength number Yes Number of bytes to write.

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(6);
let result = buf.writeIntBE(0x1234567890ab, 0, 6);

writeIntLE

writeIntLE(value: number, offset: number, byteLength: number): number

Writes a little-endian signed value of the specified length to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number Yes Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - byteLength].
byteLength number Yes Number of bytes to write.

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(6);
let result = buf.writeIntLE(0x1234567890ab, 0, 6);

writeUInt8

writeUInt8(value: number, offset?: number): number

Writes an 8-bit unsigned integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 1].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(4);
let result = buf.writeUInt8(0x3, 0);
let result1 = buf.writeUInt8(0x4, 1);
let result2 = buf.writeUInt8(0x23, 2);
let result3 = buf.writeUInt8(0x42, 3);

writeUInt16BE

writeUInt16BE(value: number, offset?: number): number

Writes a 16-bit, big-endian, unsigned integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 2].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(4);
let result = buf.writeUInt16BE(0xdead, 0);
let result1 = buf.writeUInt16BE(0xbeef, 2);

writeUInt16LE

writeUInt16LE(value: number, offset?: number): number

Writes a 16-bit, little-endian, unsigned integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 2].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(4);
let result = buf.writeUInt16LE(0xdead, 0);
let result1 = buf.writeUInt16LE(0xbeef, 2);

writeUInt32BE

writeUInt32BE(value: number, offset?: number): number

Writes a 32-bit, big-endian, unsigned integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(4);
let result = buf.writeUInt32BE(0xfeedface, 0);

writeUInt32LE

writeUInt32LE(value: number, offset?: number): number

Writes a 32-bit, little-endian, unsigned integer to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number No Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - 4].

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(4);
let result = buf.writeUInt32LE(0xfeedface, 0);

writeUIntBE

writeUIntBE(value: number, offset: number, byteLength: number): number

Writes an unsigned big-endian value of the specified length to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number Yes Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - byteLength].
byteLength number Yes Number of bytes to write.

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(6);
let result = buf.writeUIntBE(0x1234567890ab, 0, 6);

writeUIntLE

writeUIntLE(value: number, offset: number, byteLength: number): number

Writes an unsigned little-endian value of the specified length to this Buffer instance at the specified offset.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
value number Yes Data to write.
offset number Yes Number of bytes to skip before starting to write data. The default value is 0. The value range is [0, Buffer.length - byteLength].
byteLength number Yes Number of bytes to write.

Return value

Type Description
number Number of bytes written.

Error codes

For details about the error codes, see Utils Error Codes.

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

import buffer from '@ohos.buffer';

let buf = buffer.allocUninitializedFromPool(6);
let result = buf.writeUIntLE(0x1234567890ab, 0, 6);

Blob

Attributes

System capability: SystemCapability.Utils.Lang

Name Type Readable Writable Description
size number Yes No Total size of the Blob instance, in bytes.
type string Yes No Type of the data in the Blob instance.

constructor

constructor(sources: string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[] , options?: Object)

A constructor used to create a Blob instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
sources string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[] Yes Data sources of the Blob instance.
options Object No options:
- endings: specifies how the terminator '\n' is output. The value can be 'native' or 'transparent'. 'native' means that the terminator follows the system. 'transparent' means that the terminator stored in the Blob instance remains unchanged. The default value is 'transparent'.
- type: type of the data in the Blob instance. This type represents the MIME type of the data. However, it is not used for type format validation. The default value is ''.

Example

import buffer from '@ohos.buffer';

let blob: buffer.Blob  = new buffer.Blob(['a', 'b', 'c']);

class option {
  endings: string = "";
  type: string = "";
}
let o1: option = {endings:'native', type: 'MIME'}
let blob1: buffer.Blob = new buffer.Blob(['a', 'b', 'c'], o1);

arrayBuffer

arrayBuffer(): Promise<ArrayBuffer>

Puts the Blob data into an ArrayBuffer instance. This API uses a promise to return the result.

System capability: SystemCapability.Utils.Lang

Return value

Type Description
Promise<ArrayBuffer> Promise used to return the ArrayBuffer containing the Blob data.

Example

import buffer from '@ohos.buffer';

let blob: buffer.Blob = new buffer.Blob(['a', 'b', 'c']);
let pro = blob.arrayBuffer();
pro.then((val: ArrayBuffer) => {
  let uintarr: Uint8Array = new Uint8Array(val);
  console.log(uintarr.toString());
});

slice

slice(start?: number, end?: number, type?: string): Blob

Creates a Blob instance by copying specified data from this Blob instance.

System capability: SystemCapability.Utils.Lang

Parameters

Name Type Mandatory Description
start number No Offset to the start position of the data to copy. The default value is 0.
end number No Offset to the end position of the data to copy. The default value is the data length in the original Blob instance.
type string No Type of the data in the new Blob instance. The default value is ''.

Return value

Type Description
Blob New Blob instance created.

Example

import buffer from '@ohos.buffer';

let blob: buffer.Blob = new buffer.Blob(['a', 'b', 'c']);
let blob2 = blob.slice(0, 2);
let blob3 = blob.slice(0, 2, "MIME");

text

text(): Promise<string>

Returns text in UTF-8 format. This API uses a promise to return the result.

System capability: SystemCapability.Utils.Lang

Return value

Type Description
Promise<string> Promise used to return the text decoded in UTF-8.

Example

import buffer from '@ohos.buffer';

let blob: buffer.Blob = new buffer.Blob(['a', 'b', 'c']);
let pro = blob.text();
pro.then((val: string) => {
  console.log(val);
});