Buffer對(duì)象用于表示固定長(zhǎng)度的字節(jié)序列,是專門存放二進(jìn)制數(shù)據(jù)的緩存區(qū)。
推薦使用場(chǎng)景: 可用于處理大量二進(jìn)制數(shù)據(jù),圖片處理、文件接收上傳等。
本模塊首批接口從API version 9開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
表示支持的編碼格式類型。
系統(tǒng)能力: SystemCapability.Utils.Lang
類型 | 說(shuō)明 |
---|---|
'ascii' | 表示ascii格式。 |
'utf8' | 表示utf8格式。 |
'utf-8' | 表示utf8格式。 |
'utf16le' | 表示utf16小端序格式。 |
'ucs2' | utf16le的別名。 |
'ucs-2' | utf16le的別名。 |
'base64' | 表示base64格式。 |
'base64url' | 表示base64url格式。 |
'latin1' | 表示ascii格式。 |
'binary' | 表示二進(jìn)制格式。 |
'hex' | 表示十六進(jìn)制格式。 |
alloc(size: number, fill?: string | Buffer | number, encoding?: BufferEncoding): Buffer
創(chuàng)建一定字節(jié)長(zhǎng)度的Buffer對(duì)象,并初始化。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
size | number | 是 | 指定的Buffer對(duì)象長(zhǎng)度,單位:字節(jié)。 |
fill | string | Buffer | number | 否 | 填充至新緩存區(qū)的值,默認(rèn)值: 0。 |
encoding | 否 | 編碼格式(當(dāng)fill為string時(shí),才有意義)。 默認(rèn)值: 'utf8'。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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');
allocUninitializedFromPool(size: number): Buffer
創(chuàng)建指定大小未被初始化的Buffer對(duì)象。內(nèi)存從緩沖池分配。
創(chuàng)建的Buffer的內(nèi)容未知,需要使用fill函數(shù)來(lái)初始化Buffer對(duì)象。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
size | number | 是 | 指定的Buffer對(duì)象長(zhǎng)度,單位:字節(jié)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 未初始化的Buffer實(shí)例。 |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(10);
- buf.fill(0);
allocUninitialized(size: number): Buffer
創(chuàng)建指定大小未被初始化的Buffer實(shí)例。內(nèi)存不從緩沖池分配。
創(chuàng)建的Buffer的內(nèi)容未知,需要使用fill函數(shù)來(lái)初始化Buffer對(duì)象。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
size | number | 是 | 指定的Buffer對(duì)象長(zhǎng)度,單位:字節(jié)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 未初始化的Buffer實(shí)例。 |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitialized(10);
- buf.fill(0);
byteLength(string: string | Buffer | TypedArray | DataView | ArrayBuffer | SharedArrayBuffer, encoding?: BufferEncoding): number
根據(jù)不同的編碼方法,返回指定字符串的字節(jié)數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
string | string | Buffer | TypedArray | DataView | ArrayBuffer | SharedArrayBuffer | 是 | 指定字符串。 |
encoding | 否 | 編碼格式。 默認(rèn)值: 'utf8'。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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
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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
buf1 | Buffer | Uint8Array | 是 | 待比較數(shù)組。 |
buf2 | Buffer | Uint8Array | 是 | 待比較數(shù)組。 |
返回值:
類型 | 說(shuō)明 |
---|---|
-1 | 0 | 1 | 如果buf1與buf2相同,則返回0。 如果排序時(shí)buf1位于buf2之后,則返回1。 如果排序時(shí)buf1位于buf2之前,則返回-1。 |
示例:
- 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
concat(list: Buffer[] | Uint8Array[], totalLength?: number): Buffer
將數(shù)組中的內(nèi)容復(fù)制指定字節(jié)長(zhǎng)度到新的Buffer對(duì)象中并返回。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
list | Buffer[] | Uint8Array[] | 是 | 實(shí)例數(shù)組。 |
totalLength | number | 否 | 需要復(fù)制的總字節(jié)長(zhǎng)度。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 返回新的Buffer對(duì)象。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "totalLength" is out of range. |
示例:
- 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
from(array: number[]): Buffer;
根據(jù)指定數(shù)組創(chuàng)建新的Buffer對(duì)象。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
array | number[] | 是 | 指定數(shù)組。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 新的Buffer對(duì)象。 |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.from([0x62, 0x75, 0x66, 0x66, 0x65, 0x72]);
- console.log(buf.toString('hex')); // 627566666572
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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
arrayBuffer | ArrayBuffer | SharedArrayBuffer | 是 | 實(shí)例對(duì)象。 |
byteOffset | number | 否 | 字節(jié)偏移量,默認(rèn)值: 0。 |
length | number | 否 | 字節(jié)長(zhǎng)度, 默認(rèn)值: (arrayBuffer.byteLength - byteOffset)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 返回一個(gè)共享內(nèi)存的Buffer對(duì)象。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
from(buffer: Buffer | Uint8Array): Buffer
創(chuàng)建并復(fù)制buffer數(shù)據(jù)到新的Buffer對(duì)象并返回。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
buffer | Buffer | Uint8Array | 是 | 對(duì)象數(shù)據(jù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 新的Buffer對(duì)象。 |
示例:
- import buffer from '@ohos.buffer';
- let buf1 = buffer.from('buffer');
- let buf2 = buffer.from(buf1);
from(object: Object, offsetOrEncoding: number | string, length: number): Buffer
根據(jù)指定的object類型數(shù)據(jù),創(chuàng)建新的Buffer對(duì)象。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
object | Object | 是 | 支持Symbol.toPrimitive或valueOf()的對(duì)象。 |
offsetOrEncoding | number | string | 是 | 字節(jié)偏移量或編碼格式。 |
length | number | 是 | 字節(jié)長(zhǎng)度。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 返回新的Buffer對(duì)象。 |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.from(new String('this is a test'), 'utf8', 14);
from(string: String, encoding?: BufferEncoding): Buffer
根據(jù)指定編碼格式的字符串,創(chuàng)建新的Buffer對(duì)象。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
string | String | 是 | 字符串 |
encoding | 否 | 編碼格式。 默認(rèn)值: 'utf8'。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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
isBuffer(obj: Object): boolean
判斷obj是否為Buffer。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
obj | Object | 是 | 判斷對(duì)象 |
返回值:
類型 | 說(shuō)明 |
---|---|
boolean | 如果obj是Buffer,則返回true,否則返回false。 |
示例:
- import buffer from '@ohos.buffer';
- buffer.isBuffer(buffer.alloc(10)); // true
- buffer.isBuffer(buffer.from('foo')); // true
- buffer.isBuffer('a string'); // false
- buffer.isBuffer([]); // false
- buffer.isBuffer(new Uint8Array(1024)); // false
isEncoding(encoding: string): boolean
判斷encoding是否為支持的編碼格式。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
encoding | string | 是 | 編碼格式。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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
transcode(source: Buffer | Uint8Array, fromEnc: string, toEnc: string): Buffer
將給定的Buffer或Uint8Array對(duì)象從一種字符編碼重新編碼為另一種。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
source | Buffer | Uint8Array | 是 | 實(shí)例對(duì)象。 |
fromEnc | string | 是 | 當(dāng)前編碼。 |
toEnc | string | 是 | 目標(biāo)編碼。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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'));
系統(tǒng)能力: SystemCapability.Utils.Lang
名稱 | 類型 | 可讀 | 可寫 | 說(shuō)明 |
---|---|---|---|---|
length | number | 是 | 否 | Buffer對(duì)象的字節(jié)長(zhǎng)度。 |
buffer | ArrayBuffer | 是 | 否 | ArrayBuffer對(duì)象。 |
byteOffset | number | 是 | 否 | 當(dāng)前Buffer所在內(nèi)存池的偏移量。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200013 | Cannot 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(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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
target | Buffer | Uint8Array | 是 | 要比較的實(shí)例對(duì)象。 |
targetStart | number | 否 | target實(shí)例中開(kāi)始的偏移量。 默認(rèn)值: 0。 |
targetEnd | number | 否 | target實(shí)例中結(jié)束的偏移量(不包含結(jié)束位置)。 默認(rèn)值: 目標(biāo)對(duì)象的字節(jié)長(zhǎng)度。 |
sourceStart | number | 否 | this實(shí)例中開(kāi)始的偏移量。 默認(rèn)值: 0。 |
sourceEnd | number | 否 | this實(shí)例中結(jié)束的偏移量(不包含結(jié)束位置)。 默認(rèn)值: 當(dāng)前對(duì)象的字節(jié)長(zhǎng)度。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 返回比較結(jié)果。-1:當(dāng)前排列在目標(biāo)前,0:當(dāng)前與目標(biāo)相同,1:當(dāng)前排列在目標(biāo)后。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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(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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
target | Buffer | Uint8Array | 是 | 要復(fù)制到的Buffer或Uint8Array實(shí)例。 |
targetStart | number | 否 | target實(shí)例中開(kāi)始寫入的偏移量。 默認(rèn)值: 0。 |
sourceStart | number | 否 | this實(shí)例中開(kāi)始復(fù)制的偏移量。 默認(rèn)值: 0。 |
sourceEnd | number | 否 | this實(shí)例中結(jié)束復(fù)制的偏移量(不包含結(jié)束位置)。 默認(rèn)值: 當(dāng)前對(duì)象的字節(jié)長(zhǎng)度。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 復(fù)制的字節(jié)總長(zhǎng)度。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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(): IterableIterator<[number, number]>
返回一個(gè)包含key和value的迭代器。
系統(tǒng)能力: SystemCapability.Utils.Lang
返回值:
類型 | 說(shuō)明 |
---|---|
number | 表示迭代器的key值。 |
number | 表示迭代器的value值。 |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.from('buffer');
- for (let pair of buf.entries()) {
- console.log(pair.toString());
- }
equals(otherBuffer: Uint8Array | Buffer): boolean
比較this實(shí)例和otherBuffer實(shí)例是否相等。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
otherBuffer | Uint8Array | Buffer | 是 | 比較的目標(biāo)對(duì)象。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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(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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | string | Buffer | Uint8Array | number | 是 | 用于填充的值。 |
offset | number | 否 | 起始偏移量。 默認(rèn)值: 0。 |
end | number | 否 | 結(jié)束偏移量(不包含結(jié)束位置)。 默認(rèn)值: 當(dāng)前對(duì)象的字節(jié)長(zhǎng)度。 |
encoding | 否 | 字符編碼格式(value為string才有意義)。 默認(rèn)值: 'utf8'。 |
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 返回一個(gè)填充后的Buffer對(duì)象。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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(value: string | number | Buffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): boolean
檢查Buffer對(duì)象是否包含value值。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | string | number | Buffer | Uint8Array | 是 | 要搜索的內(nèi)容。 |
byteOffset | number | 否 | 字節(jié)偏移量。 如果為負(fù)數(shù),則從末尾開(kāi)始計(jì)算偏移量。 默認(rèn)值: 0。 |
encoding | 否 | 字符編碼格式。 默認(rèn)值: 'utf8'。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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(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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | string | number | Buffer | Uint8Array | 是 | 要查找的內(nèi)容。 |
byteOffset | number | 否 | 字節(jié)偏移量。 如果為負(fù)數(shù),則從末尾開(kāi)始計(jì)算偏移量。 默認(rèn)值: 0。 |
encoding | 否 | 字符編碼格式。 默認(rèn)值: 'utf8'。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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(): IterableIterator<number>
返回一個(gè)包含key值的迭代器。
系統(tǒng)能力: SystemCapability.Utils.Lang
返回值:
類型 | 說(shuō)明 |
---|---|
IterableIterator<number> | 返回一個(gè)包含key值的迭代器。 |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.from('buffer');
- for (const key of buf.keys()) {
- console.log(key.toString());
- }
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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | string | number | Buffer | Uint8Array | 是 | 要搜索的內(nèi)容。 |
byteOffset | number | 否 | 字節(jié)偏移量。 如果為負(fù)數(shù),則從末尾開(kāi)始計(jì)算偏移量。 默認(rèn)值: 0。 |
encoding | 否 | 字符編碼格式。 默認(rèn)值: 'utf8'。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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(offset?: number): bigint
從指定的offset處讀取有符號(hào)的大端序64位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
bigint | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeBigInt64BE(BigInt(0x0102030405060708), 0);
readBigInt64LE(offset?: number): bigint
從指定的offset處讀取有符號(hào)的小端序64位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
bigint | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeBigInt64BE(BigInt(0x0102030405060708), 0);
readBigUInt64BE(offset?: number): bigint
從指定的offset處讀取無(wú)符號(hào)的大端序64位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
bigint | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0);
readBigUInt64LE(offset?: number): bigint
從指定的offset處讀取無(wú)符號(hào)的小端序64位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
bigint | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0);
readDoubleBE(offset?: number): number
從指定offset處讀取64位大端序雙精度值。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeDoubleBE(123.456, 0);
readDoubleLE(offset?: number): number
從指定offset處讀取64位小端序雙精度值。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeDoubleLE(123.456, 0);
readFloatBE(offset?: number): number
從指定offset處讀取32位大端序浮點(diǎn)數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeFloatBE(0xcabcbcbc, 0);
readFloatLE(offset?: number): number
從指定offset處讀取32位小端序浮點(diǎn)數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeFloatLE(0xcabcbcbc, 0);
readInt8(offset?: number): number
從指定的offset處讀取有符號(hào)的8位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeInt8(0x12);
readInt16BE(offset?: number): number
從指定的offset處讀取有符號(hào)的大端序16位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeInt16BE(0x1234, 0);
readInt16LE(offset?: number): number
從指定的offset處讀取有符號(hào)的小端序16位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeInt16BE(0x1234, 0);
readInt32BE(offset?: number): number
從指定的offset處讀取有符號(hào)的大端序32位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeInt32BE(0x12345678, 0);
readInt32LE(offset?: number): number
從指定的offset處讀取有符號(hào)的小端序32位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeInt32BE(0x12345678, 0);
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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 是 | 偏移量。 默認(rèn)值: 0。 |
byteLength | number | 是 | 讀取的字節(jié)數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[offset/byteLength]" is out of range. |
示例:
- 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);
- buf1.writeIntBE(0x123456789011, 0, 6);
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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 是 | 偏移量。 默認(rèn)值: 0。 |
byteLength | number | 是 | 讀取的字節(jié)數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[offset/byteLength]" is out of range. |
示例:
- 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);
- buf1.writeIntLE(0x123456789011, 0, 6);
readUInt8(offset?: number): number
從offset處讀取8位無(wú)符號(hào)整型數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeUInt8(0x42);
readUInt16BE(offset?: number): number
從指定的offset處的buf讀取無(wú)符號(hào)的大端序16位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeUInt16BE(0x1234, 0);
readUInt16LE(offset?: number): number
從指定的offset處的buf讀取無(wú)符號(hào)的小端序16位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeUInt16LE(0x1234, 0);
readUInt32BE(offset?: number): number
從指定的offset處的buf讀取無(wú)符號(hào)的大端序32位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeUInt32BE(0x12345678, 0);
readUInt32LE(offset?: number): number
從指定的offset處的buf讀取無(wú)符號(hào)的小端序32位整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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);
- buf1.writeUInt32LE(0x12345678, 0);
readUIntBE(offset: number, byteLength: number): number
從指定的offset處的buf讀取byteLength個(gè)字節(jié),并將結(jié)果解釋為支持最高48位精度的無(wú)符號(hào)大端序整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 是 | 偏移量。 默認(rèn)值: 0。 |
byteLength | number | 是 | 要讀取的字節(jié)數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[offset/byteLength]" is out of range. |
示例:
- 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);
- buf1.writeUIntBE(0x13141516, 0, 4);
readUIntLE(offset: number, byteLength: number): number
從指定的offset處的buf讀取byteLength個(gè)字節(jié),并將結(jié)果解釋為支持最高48位精度的無(wú)符號(hào)小端序整數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 是 | 偏移量。 默認(rèn)值: 0。 |
byteLength | number | 是 | 要讀取的字節(jié)數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 讀取出的內(nèi)容。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[offset/byteLength]" is out of range. |
示例:
- 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);
- buf1.writeUIntLE(0x13141516, 0, 4);
subarray(start?: number, end?: number): Buffer
截取當(dāng)前對(duì)象指定位置的數(shù)據(jù)并返回。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
start | number | 否 | 截取開(kāi)始位置。 默認(rèn)值: 0。 |
end | number | 否 | 截取結(jié)束位置(不包含結(jié)束位置)。 默認(rèn)值: 當(dāng)前對(duì)象的字節(jié)長(zhǎng)度。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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(): Buffer
將當(dāng)前對(duì)象解釋為無(wú)符號(hào)的16位整數(shù)數(shù)組,并交換字節(jié)順序。
系統(tǒng)能力: SystemCapability.Utils.Lang
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 交換之后的Buffer實(shí)例。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200009 | Buffer 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(): Buffer
將當(dāng)前對(duì)象解釋為無(wú)符號(hào)的32位整數(shù)數(shù)組,并交換字節(jié)順序。
系統(tǒng)能力: SystemCapability.Utils.Lang
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 交換之后的Buffer對(duì)象。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200009 | Buffer 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(): Buffer
將當(dāng)前對(duì)象解釋為無(wú)符號(hào)的64位整數(shù)數(shù)組,并交換字節(jié)順序。
系統(tǒng)能力: SystemCapability.Utils.Lang
返回值:
類型 | 說(shuō)明 |
---|---|
Buffer | 交換之后的Buffer對(duì)象。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200009 | Buffer 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(): Object
將Buffer轉(zhuǎn)為JSON并返回。
系統(tǒng)能力: SystemCapability.Utils.Lang
返回值:
類型 | 說(shuō)明 |
---|---|
Object | JSON對(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(encoding?: string, start?: number, end?: number): string
將當(dāng)前對(duì)象中指定位置數(shù)據(jù)轉(zhuǎn)成指定編碼格式字符串并返回。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
encoding | string | 否 | 字符編碼格式。 默認(rèn)值: 'utf8'。 |
start | number | 否 | 開(kāi)始位置。 默認(rèn)值: 0。 |
end | number | 否 | 結(jié)束位置。 默認(rèn)值: Buffer.length。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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(): IterableIterator<number>
返回一個(gè)包含value的迭代器。
系統(tǒng)能力: SystemCapability.Utils.Lang
返回值:
類型 | 說(shuō)明 |
---|---|
IterableIterator<number> | 迭代器。 |
示例:
- import buffer from '@ohos.buffer';
- let buf1 = buffer.from('buffer');
- for (let value of buf1.values()) {
- console.log(value.toString());
- }
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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
str | string | 是 | 要寫入Buffer的字符串。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
length | number | 否 | 最大字節(jié)長(zhǎng)度。 默認(rèn)值: (Buffer.length - offset)。 |
encoding | string | 否 | 字符編碼。 默認(rèn)值: 'utf8'。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 返回寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The 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(value: bigint, offset?: number): number
從Buffer對(duì)象的offset偏移寫入有符號(hào)的大端序64位BigInt型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | bigint | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(8);
- buf.writeBigInt64BE(BigInt(0x0102030405060708), 0);
writeBigInt64LE(value: bigint, offset?: number): number
從Buffer對(duì)象的offset偏移寫入有符號(hào)的小端序64位BigInt型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | bigint | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(8);
- buf.writeBigInt64LE(BigInt(0x0102030405060708), 0);
writeBigUInt64BE(value: bigint, offset?: number): number
從Buffer對(duì)象的offset偏移寫入無(wú)符號(hào)的大端序64位BigUInt型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | bigint | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(8);
- buf.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0);
writeBigUInt64LE(value: bigint, offset?: number): number
從Buffer對(duì)象的offset偏移寫入無(wú)符號(hào)的小端序64位BigUInt型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | bigint | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(8);
- buf.writeBigUInt64LE(BigInt(0xdecafafecacefade), 0);
writeDoubleBE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入大端序的64位雙浮點(diǎn)型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(8);
- buf.writeDoubleBE(123.456, 0);
writeDoubleLE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入小端序的64位雙浮點(diǎn)型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(8);
- buf.writeDoubleLE(123.456, 0);
writeFloatBE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入大端序的32位浮點(diǎn)型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(8);
- buf.writeFloatBE(0xcafebabe, 0);
writeFloatLE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入小端序的32位浮點(diǎn)型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(8);
- buf.writeFloatLE(0xcafebabe, 0);
writeInt8(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入8位有符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(2);
- buf.writeInt8(2, 0);
- buf.writeInt8(-2, 1);
writeInt16BE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入大端序的16位有符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(2);
- buf.writeInt16BE(0x0102, 0);
writeInt16LE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入小端序的16位有符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(2);
- buf.writeInt16LE(0x0304, 0);
writeInt32BE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入大端序的32位有符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(4);
- buf.writeInt32BE(0x01020304, 0);
writeInt32LE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入小端序的32位有符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(4);
- buf.writeInt32LE(0x05060708, 0);
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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 是 | 偏移量。 默認(rèn)值: 0。 |
byteLength | number | 是 | 要寫入的字節(jié)數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset/byteLength]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(6);
- buf.writeIntBE(0x1234567890ab, 0, 6);
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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 是 | 偏移量。 默認(rèn)值: 0。 |
byteLength | number | 是 | 要寫入的字節(jié)數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset/byteLength]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(6);
- buf.writeIntLE(0x1234567890ab, 0, 6);
writeUInt8(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入8位無(wú)符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(4);
- buf.writeUInt8(0x3, 0);
- buf.writeUInt8(0x4, 1);
- buf.writeUInt8(0x23, 2);
- buf.writeUInt8(0x42, 3);
writeUInt16BE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入大端序的16位無(wú)符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(4);
- buf.writeUInt16BE(0xdead, 0);
- buf.writeUInt16BE(0xbeef, 2);
writeUInt16LE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入小端序的16位無(wú)符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(4);
- buf.writeUInt16LE(0xdead, 0);
- buf.writeUInt16LE(0xbeef, 2);
writeUInt32BE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入大端序的32位無(wú)符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(4);
- buf.writeUInt32BE(0xfeedface, 0);
writeUInt32LE(value: number, offset?: number): number
從Buffer對(duì)象的offset偏移寫入小端序的32位無(wú)符號(hào)整型數(shù)據(jù)value。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer對(duì)象的數(shù)字。 |
offset | number | 否 | 偏移量。 默認(rèn)值: 0。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(4);
- buf.writeUInt32LE(0xfeedface, 0);
writeUIntBE(value: number, offset: number, byteLength: number): number
從Buffer對(duì)象的offset偏移寫入大端序的無(wú)符號(hào)value數(shù)據(jù),value字節(jié)長(zhǎng)度為byteLength。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 是 | 偏移量。 默認(rèn)值: 0。 |
byteLength | number | 是 | 要寫入的字節(jié)數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset/byteLength]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(6);
- buf.writeUIntBE(0x1234567890ab, 0, 6);
writeUIntLE(value: number, offset: number, byteLength: number): number
從Buffer對(duì)象的offset偏移寫入小端序的無(wú)符號(hào)value數(shù)據(jù),value字節(jié)長(zhǎng)度為byteLength。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
value | number | 是 | 寫入Buffer的數(shù)據(jù)。 |
offset | number | 是 | 偏移量。 默認(rèn)值: 0。 |
byteLength | number | 是 | 要寫入的字節(jié)數(shù)。 |
返回值:
類型 | 說(shuō)明 |
---|---|
number | 寫入的字節(jié)數(shù)。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)語(yǔ)言基礎(chǔ)類庫(kù)錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
10200001 | The value of "[value/offset/byteLength]" is out of range. |
示例:
- import buffer from '@ohos.buffer';
- let buf = buffer.allocUninitializedFromPool(6);
- buf.writeUIntLE(0x1234567890ab, 0, 6);
系統(tǒng)能力: SystemCapability.Utils.Lang
名稱 | 類型 | 可讀 | 可寫 | 說(shuō)明 |
---|---|---|---|---|
size | number | 是 | 否 | Blob實(shí)例的總字節(jié)大小。 |
type | string | 是 | 否 | Blob實(shí)例的內(nèi)容類型。 |
constructor(sources: string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[] , options?: Object)
Blob的構(gòu)造函數(shù)。
系統(tǒng)能力: SystemCapability.Utils.Lang
參數(shù):
參數(shù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
sources | string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[] | 是 | Blob實(shí)例的數(shù)據(jù)源。 |
options | Object | 否 | options: - 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(): Promise<ArrayBuffer>
將Blob中的數(shù)據(jù)放入到ArrayBuffer中,并返回一個(gè)Promise。
系統(tǒng)能力: SystemCapability.Utils.Lang
返回值:
類型 | 說(shuō)明 |
---|---|
Promise<ArrayBuffer> | Promise對(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(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ù)名 | 類型 | 必填 | 說(shuō)明 |
---|---|---|---|
start | number | 否 | 起始位置。默認(rèn)值為0。 |
end | number | 否 | 結(jié)束位置。默認(rèn)值為原Blob對(duì)象中的數(shù)據(jù)長(zhǎng)度。 |
type | string | 否 | 內(nèi)容類型。默認(rèn)值為''。 |
返回值:
類型 | 說(shuō)明 |
---|---|
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");
更多建議: