0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenHarmony語言基礎(chǔ)類庫(kù)【@ohos.buffer (Buffer)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-23 17:34 ? 次閱讀

@ohos.buffer (Buffer)

Buffer對(duì)象用于表示固定長(zhǎng)度的字節(jié)序列,是專門存放二進(jìn)制數(shù)據(jù)的緩存區(qū)。

推薦使用場(chǎng)景: 可用于處理大量二進(jìn)制數(shù)據(jù),圖片處理、文件接收上傳等。

icon-note.gif說明:

本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

import buffer from '@ohos.buffer';

鴻蒙開發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

搜狗高速瀏覽器截圖20240326151547.png

BufferEncoding

表示支持的編碼格式類型。

系統(tǒng)能力: SystemCapability.Utils.Lang

類型說明
'ascii'表示ascii格式。
'utf8'表示utf8格式。
'utf-8'表示utf8格式。
'utf16le'表示utf16小端序格式。
'ucs2'utf16le的別名。
'ucs-2'utf16le的別名。
'base64'表示base64格式。
'base64url'表示base64url格式。
'latin1'iso-8859-1的別名, 向下兼容ascii格式。
'binary'表示二進(jìn)制格式。
'hex'表示十六進(jìn)制格式。

buffer.alloc

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

創(chuàng)建一定字節(jié)長(zhǎng)度的Buffer對(duì)象,并初始化。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù)

參數(shù)名類型必填說明
sizenumber指定的Buffer對(duì)象長(zhǎng)度,單位:字節(jié)。
fillstringBuffernumber
encoding[BufferEncoding]編碼格式(當(dāng)fill為string時(shí),才有意義)。 默認(rèn)值: 'utf8'。

返回值:

類型說明
Buffer返回一個(gè)Buffer對(duì)象。

示例:

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

創(chuàng)建指定大小未被初始化的Buffer對(duì)象。內(nèi)存從緩沖池分配。 創(chuàng)建的Buffer的內(nèi)容未知,需要使用[fill]函數(shù)來初始化Buffer對(duì)象。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
sizenumber指定的Buffer對(duì)象長(zhǎng)度,單位:字節(jié)。

返回值:

類型說明
Buffer未初始化的Buffer實(shí)例。

示例:

import buffer from '@ohos.buffer';

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

buffer.allocUninitialized

allocUninitialized(size: number): Buffer

創(chuàng)建指定大小未被初始化的Buffer實(shí)例。內(nèi)存不從緩沖池分配。 創(chuàng)建的Buffer的內(nèi)容未知,需要使用[fill]函數(shù)來初始化Buffer對(duì)象。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
sizenumber指定的Buffer對(duì)象長(zhǎng)度,單位:字節(jié)。

返回值:

類型說明
Buffer未初始化的Buffer實(shí)例。

示例:

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

根據(jù)不同的編碼方法,返回指定字符串的字節(jié)數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
stringstringBufferTypedArray
encoding[BufferEncoding]編碼格式。 默認(rèn)值: 'utf8'。

返回值:

類型說明
number返回指定字符串的字節(jié)數(shù)。

示例:

import buffer from '@ohos.buffer';

let str = 'u00bd + u00bc = u00be';
console.log(`${str}: ${str.length} characters, ${buffer.byteLength(str, 'utf-8')} bytes`);
// 打印: ? + ? = ?: 9 characters, 12 bytes

buffer.compare

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

返回兩個(gè)數(shù)組的比較結(jié)果,通常用于對(duì)Buffer對(duì)象數(shù)組進(jìn)行排序。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
buf1BufferUint8Array
buf2BufferUint8Array

返回值:

類型說明
-10

示例:

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()); // 打印 1

buffer.concat

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

將數(shù)組中的內(nèi)容復(fù)制指定字節(jié)長(zhǎng)度到新的Buffer對(duì)象中并返回。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
listBuffer[]Uint8Array[]
totalLengthnumber需要復(fù)制的總字節(jié)長(zhǎng)度。

返回值:

類型說明
Buffer返回新的Buffer對(duì)象。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "length" is out of range. It must be >= 0 and <= uint32 max. Received value is: [length]

示例:

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;

根據(jù)指定數(shù)組創(chuàng)建新的Buffer對(duì)象。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
arraynumber[]指定數(shù)組。

返回值:

類型說明
Buffer新的Buffer對(duì)象。

示例:

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

創(chuàng)建指定長(zhǎng)度的與arrayBuffer共享內(nèi)存的Buffer對(duì)象。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
arrayBufferArrayBufferSharedArrayBuffer
byteOffsetnumber字節(jié)偏移量,默認(rèn)值: 0。
lengthnumber字節(jié)長(zhǎng)度, 默認(rèn)值: (arrayBuffer.byteLength - byteOffset)。

返回值:

類型說明
Buffer返回一個(gè)共享內(nèi)存的Buffer對(duì)象。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[byteOffset/length]" is out of range.

示例:

import buffer from '@ohos.buffer';

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

buffer.from

from(buffer: Buffer | Uint8Array): Buffer

創(chuàng)建并復(fù)制buffer數(shù)據(jù)到新的Buffer對(duì)象并返回。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
bufferBufferUint8Array

返回值:

類型說明
Buffer新的Buffer對(duì)象。

示例:

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

根據(jù)指定的object類型數(shù)據(jù),創(chuàng)建新的Buffer對(duì)象。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
objectObject支持Symbol.toPrimitive或valueOf()的對(duì)象。
offsetOrEncodingnumberstring
lengthnumber字節(jié)長(zhǎng)度。

返回值:

類型說明
Buffer返回新的Buffer對(duì)象。

示例:

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

根據(jù)指定編碼格式的字符串,創(chuàng)建新的Buffer對(duì)象。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
stringString字符串
encoding[BufferEncoding]編碼格式。 默認(rèn)值: 'utf8'。

返回值:

類型說明
Buffer返回新的Buffer對(duì)象。

示例:

import buffer from '@ohos.buffer';

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

console.log(buf1.toString());	// 打印: this is a test
console.log(buf2.toString()); // 打印: this is a test

[](https://gitee.com/openharmony/docs/blob/OpenHarmony-3.2-Release/zh-cn/application-dev/reference/apis/js-apis-buffer.md#bufferisbuffer)buffer.isBuffer

isBuffer(obj: Object): boolean

判斷obj是否為Buffer。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
objObject判斷對(duì)象

返回值:

類型說明
boolean如果obj是Buffer,則返回true,否則返回false。

示例:

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

判斷encoding是否為支持的編碼格式。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
encodingstring編碼格式。

返回值:

類型說明
boolean是支持的編碼格式返回true,反之則返回false。

示例:

import buffer from '@ohos.buffer';

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

buffer.transcode

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

將給定的Buffer或Uint8Array對(duì)象從一種字符編碼重新編碼為另一種。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
sourceBufferUint8Array
fromEncstring當(dāng)前編碼。
toEncstring目標(biāo)編碼。

返回值:

類型說明
Buffer根據(jù)當(dāng)前編碼轉(zhuǎn)換成目標(biāo)編碼,并返回一個(gè)新的buffer實(shí)例。

示例:

import buffer from '@ohos.buffer';

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

Buffer

屬性

系統(tǒng)能力: SystemCapability.Utils.Lang

名稱類型可讀可寫說明
lengthnumberBuffer對(duì)象的字節(jié)長(zhǎng)度。
bufferArrayBufferArrayBuffer對(duì)象。
byteOffsetnumber當(dāng)前Buffer所在內(nèi)存池的偏移量。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200013Cannot set property ${propertyName} of Buffer which has only a getter.

示例:

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

當(dāng)前Buffer對(duì)象與目標(biāo)Buffer對(duì)象進(jìn)行比較,并返回Buffer在排序中的順序結(jié)果。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
targetBufferUint8Array
targetStartnumbertarget實(shí)例中開始的偏移量。 默認(rèn)值: 0。
targetEndnumbertarget實(shí)例中結(jié)束的偏移量(不包含結(jié)束位置)。 默認(rèn)值: 目標(biāo)對(duì)象的字節(jié)長(zhǎng)度。
sourceStartnumberthis實(shí)例中開始的偏移量。 默認(rèn)值: 0。
sourceEndnumberthis實(shí)例中結(jié)束的偏移量(不包含結(jié)束位置)。 默認(rèn)值: 當(dāng)前對(duì)象的字節(jié)長(zhǎng)度。

返回值:

類型說明
number返回比較結(jié)果。-1:當(dāng)前排列在目標(biāo)前,0:當(dāng)前與目標(biāo)相同,1:當(dāng)前排列在目標(biāo)后。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[targetStart/targetEnd/sourceStart/sourceEnd]" is out of range.

示例:

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());	// 打印: 0
console.log(buf1.compare(buf2, 0, 6, 4).toString());	// 打印: -1
console.log(buf1.compare(buf2, 5, 6, 5).toString());	// 打印: 1

copy

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

this實(shí)例中指定位置的數(shù)據(jù)復(fù)制到target的指定位置上,并返回復(fù)制的字節(jié)總長(zhǎng)度。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
targetBufferUint8Array
targetStartnumbertarget實(shí)例中開始寫入的偏移量。 默認(rèn)值: 0。
sourceStartnumberthis實(shí)例中開始復(fù)制的偏移量。 默認(rèn)值: 0。
sourceEndnumberthis實(shí)例中結(jié)束復(fù)制的偏移量(不包含結(jié)束位置)。 默認(rèn)值: 當(dāng)前對(duì)象的字節(jié)長(zhǎng)度。

返回值:

類型說明
number復(fù)制的字節(jié)總長(zhǎng)度。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[targetStart/sourceStart/sourceEnd]" is out of range.

示例:

import buffer from '@ohos.buffer';

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

for (let i = 0; i < 26; i++) {
  buf1[i] = i + 97;
}

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

entries

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

返回一個(gè)包含key和value的迭代器。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
IterableIterator<[number, number]>包含key和value的迭代器,同時(shí)兩者皆為number類型。

示例:

import buffer from '@ohos.buffer';

let buf = buffer.from('buffer');
for (let pair of buf.entries()) {
  console.log(pair.toString());
}

equals

equals(otherBuffer: Uint8Array | Buffer): boolean

比較this實(shí)例和otherBuffer實(shí)例是否相等。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
otherBufferUint8ArrayBuffer

返回值:

類型說明
boolean相等則返回true,否則返回false。

示例:

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());	// 打印: true
console.log(buf1.equals(buf3).toString());	// 打印: false

fill

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

value填充當(dāng)前對(duì)象指定位置的數(shù)據(jù),默認(rèn)為循環(huán)填充,并返回填充后的Buffer對(duì)象。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuestringBufferUint8Array
offsetnumber起始偏移量。 默認(rèn)值: 0。
endnumber結(jié)束偏移量(不包含結(jié)束位置)。 默認(rèn)值: 當(dāng)前對(duì)象的字節(jié)長(zhǎng)度。
encoding[BufferEncoding]字符編碼格式(value為string才有意義)。 默認(rèn)值: 'utf8'。

返回值:

類型說明
Buffer返回一個(gè)填充后的Buffer對(duì)象。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[offset/end]" is out of range.

示例:

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

檢查Buffer對(duì)象是否包含value值。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuestringnumberBuffer
byteOffsetnumber字節(jié)偏移量。 如果為負(fù)數(shù),則從末尾開始計(jì)算偏移量。 默認(rèn)值: 0。
encoding[BufferEncoding]字符編碼格式。 默認(rèn)值: 'utf8'。

返回值:

類型說明
boolean存在為true,否則為false。

示例:

import buffer from '@ohos.buffer';

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

indexOf

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

查找當(dāng)前對(duì)象中第一次出現(xiàn)value索引,如果不包含value,則為-1。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuestringnumberBuffer
byteOffsetnumber字節(jié)偏移量。 如果為負(fù)數(shù),則從末尾開始計(jì)算偏移量。 默認(rèn)值: 0。
encoding[BufferEncoding]字符編碼格式。 默認(rèn)值: 'utf8'。

返回值:

類型說明
number第一次出現(xiàn)位置。

示例:

import buffer from '@ohos.buffer';

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

keys

keys(): IterableIterator

返回一個(gè)包含key值的迭代器。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
IterableIterator返回一個(gè)包含key值的迭代器。

示例:

import buffer from '@ohos.buffer';

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

lastIndexOf

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

返回this實(shí)例中最后一次出現(xiàn)value的索引,如果對(duì)象不包含,則為-1。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuestringnumberBuffer
byteOffsetnumber字節(jié)偏移量。 如果為負(fù)數(shù),則從末尾開始計(jì)算偏移量。 默認(rèn)值: 0。
encoding[BufferEncoding])字符編碼格式。 默認(rèn)值: 'utf8'。

返回值:

類型說明
number最后一次出現(xiàn)value值的索引。

示例:

import buffer from '@ohos.buffer';

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

readBigInt64BE

readBigInt64BE(offset?: number): bigint

從指定的offset處讀取有符號(hào)的大端序64位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
bigint讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定的offset處讀取有符號(hào)的小端序64位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
bigint讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見語言基礎(chǔ)類庫(kù)錯(cuò)誤碼

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定的offset處讀取無符號(hào)的大端序64位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
bigint讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定的offset處讀取無符號(hào)的小端序64位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
bigint讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定offset處讀取64位大端序雙精度值。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定offset處讀取64位小端序雙精度值。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定offset處讀取32位大端序浮點(diǎn)數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定offset處讀取32位小端序浮點(diǎn)數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定的offset處讀取有符號(hào)的8位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

import buffer from '@ohos.buffer';

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

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

readInt16BE

readInt16BE(offset?: number): number

從指定的offset處讀取有符號(hào)的大端序16位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

import buffer from '@ohos.buffer';

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

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

readInt16LE

readInt16LE(offset?: number): number

從指定的offset處讀取有符號(hào)的小端序16位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

import buffer from '@ohos.buffer';

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

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

readInt32BE

readInt32BE(offset?: number): number

從指定的offset處讀取有符號(hào)的大端序32位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

import buffer from '@ohos.buffer';

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

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

readInt32LE

readInt32LE(offset?: number): number

從指定的offset處讀取有符號(hào)的小端序32位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

import buffer from '@ohos.buffer';

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

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

readIntBE

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

從指定的offset處的buf讀取byteLength個(gè)字節(jié),并將結(jié)果解釋為支持最高48位精度的大端序、二進(jìn)制補(bǔ)碼有符號(hào)值。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。 默認(rèn)值: 0。
byteLengthnumber讀取的字節(jié)數(shù)。

返回值:

類型說明
number讀取的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從指定的offset處的buf讀取byteLength個(gè)字節(jié),并將結(jié)果解釋為支持最高48位精度的小端序、二進(jìn)制補(bǔ)碼有符號(hào)值。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。 默認(rèn)值: 0。
byteLengthnumber讀取的字節(jié)數(shù)。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見語言基礎(chǔ)類庫(kù)錯(cuò)誤碼。

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

offset處讀取8位無符號(hào)整型數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定的offset處的buf讀取無符號(hào)的大端序16位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定的offset處的buf讀取無符號(hào)的小端序16位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定的offset處的buf讀取無符號(hào)的大端序32位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定的offset處的buf讀取無符號(hào)的小端序32位整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range.

示例:

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

從指定的offset處的buf讀取byteLength個(gè)字節(jié),并將結(jié)果解釋為支持最高48位精度的無符號(hào)大端序整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。 默認(rèn)值: 0。
byteLengthnumber要讀取的字節(jié)數(shù)。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從指定的offset處的buf讀取byteLength個(gè)字節(jié),并將結(jié)果解釋為支持最高48位精度的無符號(hào)小端序整數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
offsetnumber偏移量。 默認(rèn)值: 0。
byteLengthnumber要讀取的字節(jié)數(shù)。

返回值:

類型說明
number讀取出的內(nèi)容。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

截取當(dāng)前對(duì)象指定位置的數(shù)據(jù)并返回。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
startnumber截取開始位置。 默認(rèn)值: 0。
endnumber截取結(jié)束位置(不包含結(jié)束位置)。 默認(rèn)值: 當(dāng)前對(duì)象的字節(jié)長(zhǎng)度。

返回值:

類型說明
Buffer返回新的Buffer對(duì)象。

示例:

import buffer from '@ohos.buffer';

let buf1 = buffer.allocUninitializedFromPool(26);

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

swap16

swap16(): Buffer

將當(dāng)前對(duì)象解釋為無符號(hào)的16位整數(shù)數(shù)組,并交換字節(jié)順序。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
Buffer交換之后的Buffer實(shí)例。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200009Buffer size must be a multiple of 16-bits

示例:

import buffer from '@ohos.buffer';

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

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

swap32

swap32(): Buffer

將當(dāng)前對(duì)象解釋為無符號(hào)的32位整數(shù)數(shù)組,并交換字節(jié)順序。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
Buffer交換之后的Buffer對(duì)象。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200009Buffer size must be a multiple of 32-bits

示例:

import buffer from '@ohos.buffer';

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

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

swap64

swap64(): Buffer

將當(dāng)前對(duì)象解釋為無符號(hào)的64位整數(shù)數(shù)組,并交換字節(jié)順序。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
Buffer交換之后的Buffer對(duì)象。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200009Buffer size must be a multiple of 64-bits

示例:

import buffer from '@ohos.buffer';

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

toJSON

toJSON(): Object

將Buffer轉(zhuǎn)為JSON并返回。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
ObjectJSON對(duì)象。

示例:

import buffer from '@ohos.buffer';

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

toString

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

將當(dāng)前對(duì)象中指定位置數(shù)據(jù)轉(zhuǎn)成指定編碼格式字符串并返回。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
encodingstring字符編碼格式。 默認(rèn)值: 'utf8'。
startnumber開始位置。 默認(rèn)值: 0。
endnumber結(jié)束位置。 默認(rèn)值: Buffer.length。

返回值:

類型說明
string字符串。

示例:

import buffer from '@ohos.buffer';

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

values

values(): IterableIterator

返回一個(gè)包含value的迭代器。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
IterableIterator迭代器。

示例:

import buffer from '@ohos.buffer';

let buf1 = buffer.from('buffer');
for (let value of buf1.values()) {
  console.log(value.toString());
}

write

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

從Buffer對(duì)象的offset偏移寫入指定編碼的字符串str,寫入的字節(jié)長(zhǎng)度為length。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
strstring要寫入Buffer的字符串。
offsetnumber偏移量。 默認(rèn)值: 0。
lengthnumber最大字節(jié)長(zhǎng)度。 默認(rèn)值: (Buffer.length - offset)。
encodingstring字符編碼。 默認(rèn)值: 'utf8'。

返回值:

類型說明
number返回寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[offset/length]" is out of range.

示例:

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)}`);
// 打印: 12 bytes: ? + ? = ?

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

writeBigInt64BE

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

從Buffer對(duì)象的offset偏移寫入有符號(hào)的大端序64位BigInt型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuebigint寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

writeBigInt64LE

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

從Buffer對(duì)象的offset偏移寫入有符號(hào)的小端序64位BigInt型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuebigint寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

writeBigUInt64BE

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

從Buffer對(duì)象的offset偏移寫入無符號(hào)的大端序64位BigUInt型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuebigint寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

writeBigUInt64LE

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

從Buffer對(duì)象的offset偏移寫入無符號(hào)的小端序64位BigUInt型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuebigint寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

writeDoubleBE

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

從Buffer對(duì)象的offset偏移寫入大端序的64位雙浮點(diǎn)型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見語言基礎(chǔ)類庫(kù)錯(cuò)誤碼

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]

示例:

import buffer from '@ohos.buffer';

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

writeDoubleLE

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

從Buffer對(duì)象的offset偏移寫入小端序的64位雙浮點(diǎn)型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見語言基礎(chǔ)類庫(kù)錯(cuò)誤碼。

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]

示例:

import buffer from '@ohos.buffer';

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

writeFloatBE

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

從Buffer對(duì)象的offset偏移寫入大端序的32位浮點(diǎn)型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]

示例:

import buffer from '@ohos.buffer';

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

writeFloatLE

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

從Buffer對(duì)象的offset偏移寫入小端序的32位浮點(diǎn)型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]

示例:

import buffer from '@ohos.buffer';

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

writeInt8

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

從Buffer對(duì)象的offset偏移寫入8位有符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從Buffer對(duì)象的offset偏移寫入大端序的16位有符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

writeInt16LE

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

從Buffer對(duì)象的offset偏移寫入小端序的16位有符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

writeInt32BE

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

從Buffer對(duì)象的offset偏移寫入大端序的32位有符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

writeInt32LE

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

從Buffer對(duì)象的offset偏移寫入小端序的32位有符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從Buffer對(duì)象的offset偏移寫入大端序的有符號(hào)value數(shù)據(jù),value字節(jié)長(zhǎng)度為byteLength。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。
byteLengthnumber要寫入的字節(jié)數(shù)。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從Buffer對(duì)象的offset偏移寫入小端序的有符號(hào)value數(shù)據(jù),value字節(jié)長(zhǎng)度為byteLength。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。
byteLengthnumber要寫入的字節(jié)數(shù)。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

writeUInt8

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

從Buffer對(duì)象的offset偏移寫入8位無符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從Buffer對(duì)象的offset偏移寫入大端序的16位無符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值為0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從Buffer對(duì)象的offset偏移寫入小端序的16位無符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從Buffer對(duì)象的offset偏移寫入大端序的32位無符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

writeUInt32LE

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

從Buffer對(duì)象的offset偏移寫入小端序的32位無符號(hào)整型數(shù)據(jù)value。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer對(duì)象的數(shù)字。
offsetnumber偏移量。 默認(rèn)值: 0。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從Buffer對(duì)象的offset偏移寫入大端序的無符號(hào)value數(shù)據(jù),value字節(jié)長(zhǎng)度為byteLength。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。
byteLengthnumber要寫入的字節(jié)數(shù)。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

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

從Buffer對(duì)象的offset偏移寫入小端序的無符號(hào)value數(shù)據(jù),value字節(jié)長(zhǎng)度為byteLength。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
valuenumber寫入Buffer的數(shù)據(jù)。
offsetnumber偏移量。 默認(rèn)值: 0。
byteLengthnumber要寫入的字節(jié)數(shù)。

返回值:

類型說明
number寫入的字節(jié)數(shù)。

錯(cuò)誤碼:

以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見[語言基礎(chǔ)類庫(kù)錯(cuò)誤碼]

錯(cuò)誤碼ID錯(cuò)誤信息
10200001The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param]

示例:

import buffer from '@ohos.buffer';

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

Blob

屬性

系統(tǒng)能力: SystemCapability.Utils.Lang

名稱類型可讀可寫說明
sizenumberBlob實(shí)例的總字節(jié)大小。
typestringBlob實(shí)例的內(nèi)容類型。

constructor

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

Blob的構(gòu)造函數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
sourcesstring[]ArrayBuffer[]TypedArray[]
optionsObjectoptions: - endings:含義為結(jié)束符'n'的字符串如何被輸出,為'transparent'或'native'。native代表行結(jié)束符會(huì)跟隨系統(tǒng)。'transparent'代表會(huì)保持Blob中保存的結(jié)束符不變。此參數(shù)非必填,默認(rèn)值為'transparent'。 - type:Blob內(nèi)容類型。其目的是讓類型傳達(dá)數(shù)據(jù)的MIME媒體類型,但是不執(zhí)行類型格式的驗(yàn)證。此參數(shù)非必填,默認(rèn)參數(shù)為''。

示例:

import buffer from '@ohos.buffer';

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

arrayBuffer

arrayBuffer(): Promise

將Blob中的數(shù)據(jù)放入到ArrayBuffer中,并返回一個(gè)Promise。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
PromisePromise對(duì)象,返回包含Blob數(shù)據(jù)的ArrayBuffer。

示例:

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

slice

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

創(chuàng)建并返回一個(gè)復(fù)制原Blob對(duì)象中指定數(shù)據(jù)長(zhǎng)度的Blob新對(duì)象。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
startnumber起始位置。默認(rèn)值為0。
endnumber結(jié)束位置。默認(rèn)值為原Blob對(duì)象中的數(shù)據(jù)長(zhǎng)度。
typestring內(nèi)容類型。默認(rèn)值為''。

返回值:

類型說明
Blob新的Blob實(shí)例對(duì)象。

示例:

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

text

text(): Promise

使用UTF8進(jìn)行解碼并返回一個(gè)文本。使用Promise異步回調(diào)。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
PromisePromise對(duì)象,返回包含以UTF8解碼的文本。

示例:

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

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    56

    文章

    2267

    瀏覽量

    42493
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3548

    瀏覽量

    15743
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是always on buffer?什么情況下需要插always on buffer?

    相比普通的buffer cell,always on buffer(AOB)有secondary always on pin,可以讓AOB即使在primary power off的情況下保持on的狀態(tài);AOB在secondary pg pin off的情況下也是off的。
    的頭像 發(fā)表于 12-01 15:31 ?1891次閱讀
    什么是always on <b class='flag-5'>buffer</b>?什么情況下需要插always on <b class='flag-5'>buffer</b>?

    什么是Protocol Buffer

    一 什么是Protocol BufferProtocol Buffer是一種支持多平臺(tái)、多語言、可擴(kuò)展的的數(shù)據(jù)序列化機(jī)制,相較于XML來說,protobuf更小更快更簡(jiǎn)單,支持自定義的數(shù)據(jù)結(jié)構(gòu),用
    發(fā)表于 11-30 08:00

    快速buffer添加算法

    在深亞微米設(shè)計(jì)中,連線延遲時(shí)間已經(jīng)超過器件延遲時(shí)間,成為影響性能的瓶頸之一。在線網(wǎng)中插入緩沖器(buffer)是改善線延遲的一種有效方法,但是目前基于緩沖器塊(buffer bloc
    發(fā)表于 12-14 10:28 ?6次下載

    PCIe Clock Buffer-Generator-Si

    PCIe Clock Buffer : PI6C20800: 1:8 PCIe 100 MHz DifferentialHCSL Clock Buffer View Datasheet |
    發(fā)表于 04-01 14:59 ?3034次閱讀

    什么是buffer

    什么是buffer  英文縮寫: buffer 中文譯名: 緩沖,緩沖器 分  : 電信設(shè)備 解  釋: 在數(shù)據(jù)傳輸中,用來
    發(fā)表于 02-22 11:11 ?6164次閱讀

    基于串行RapidIO的Buffer層設(shè)計(jì)

    基于串行RapidIO的Buffer層設(shè)計(jì)_任雪倩
    發(fā)表于 01-07 21:28 ?0次下載

    wideband buffer amplifiers

    wideband buffer amplifiers
    發(fā)表于 03-24 14:49 ?0次下載

    linux內(nèi)存的使用與page buffer有什么聯(lián)系?

    系統(tǒng)要于磁盤打交道,必須先分配一個(gè)page buffer:當(dāng)需要讀入文件時(shí),首先要查找address_space看是否已經(jīng)存在page_buffer,沒有的話則分配一個(gè)page buffer頁(yè)框,插入address_space。
    發(fā)表于 05-13 11:46 ?1433次閱讀

    Ring buffer介紹

    的頭和尾,添加和消費(fèi)消息一的東西。所有這些東西我還沒有在 Ring Buffer 一節(jié)真正提到。這是因?yàn)?Ring Buffer 本身并不負(fù)責(zé)這些事情,我們把這些問題挪到了數(shù)據(jù)結(jié)構(gòu)的外部。
    發(fā)表于 04-02 14:32 ?3136次閱讀

    Protocol Buffer在MCU上的實(shí)現(xiàn)--C語言

    一 什么是Protocol BufferProtocol Buffer是一種支持多平臺(tái)、多語言、可擴(kuò)展的的數(shù)據(jù)序列化機(jī)制,相較于XML來說,protobuf更小更快更簡(jiǎn)單,支持自定義的數(shù)據(jù)結(jié)構(gòu),用
    發(fā)表于 11-20 13:21 ?10次下載
    Protocol <b class='flag-5'>Buffer</b>在MCU上的實(shí)現(xiàn)--C<b class='flag-5'>語言</b>

    基于openharmony移植的ohos拼圖支持庫(kù)

    項(xiàng)目介紹 項(xiàng)目名稱:PuzzleView 所屬系列:openharmony的第三方組件適配移植 功能:ohos拼圖支持庫(kù) 項(xiàng)目移植狀態(tài):主功能完成,由于ohos暫不支持,所以分享功能暫
    發(fā)表于 03-22 11:24 ?2次下載

    BPF ring buffer解決的問題及背后的設(shè)計(jì)

    文章介紹了 BPF ring buffer 解決的問題及背后的設(shè)計(jì),并給出了一些代碼示例和內(nèi)核 patch 鏈接,深度和廣度兼?zhèn)?,是學(xué)習(xí) ring buffer 的極佳參考。
    的頭像 發(fā)表于 05-17 09:37 ?2051次閱讀

    什么是時(shí)鐘緩沖器(Buffer)?時(shí)鐘緩沖器(Buffer)參數(shù)解析

    什么是時(shí)鐘緩沖器(Buffer)?時(shí)鐘緩沖器(Buffer)參數(shù)解析 什么是時(shí)鐘緩沖器(Buffer)?我們先把這個(gè)概念搞清楚。 時(shí)鐘緩沖器就是常說的Clock Buffer,通常是指
    發(fā)表于 10-18 18:36 ?2.4w次閱讀
    什么是時(shí)鐘緩沖器(<b class='flag-5'>Buffer</b>)?時(shí)鐘緩沖器(<b class='flag-5'>Buffer</b>)參數(shù)解析

    IC設(shè)計(jì)中Buffer的作用有哪些?

    首先了解一下buffer是什么,buffer中文名稱緩沖器,屬于邏輯和電壓轉(zhuǎn)換分類,主要目的用于增強(qiáng)系統(tǒng)中的信號(hào)完整性。
    發(fā)表于 06-05 15:55 ?1.3w次閱讀

    鴻蒙OpenHarmony大合集:【語言基礎(chǔ)庫(kù)

    本示例集合語言基礎(chǔ)庫(kù)的各個(gè)子模塊,展示了各個(gè)模塊的基礎(chǔ)功能
    的頭像 發(fā)表于 04-29 16:38 ?404次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>大合集:【<b class='flag-5'>語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫(kù)</b>】