HarmonyOS API:@ohos.buffer (Buffer)
版本:v3.1 Beta
@ohos.buffer (Buffer)
readIntLE
readIntLE(offset: number, byteLength: number): number
从指定的offset处的buf读取byteLength个字节,并将结果解释为支持最高48位精度的小端序、二进制补码有符号值。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
offset | number | 是 | 偏移量。 默认值: 0。 |
byteLength | number | 是 | 读取的字节数。 |
返回值:
类型 | 说明 |
number | 读取出的内容。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
readUInt8(offset?: number): number
从offset处读取8位无符号整型数。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 读取出的内容。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
readUInt16BE(offset?: number): number
从指定的offset处的buf读取无符号的大端序16位整数。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 读取出的内容。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
readUInt16LE(offset?: number): number
从指定的offset处的buf读取无符号的小端序16位整数。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 读取出的内容。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
readUInt32BE(offset?: number): number
从指定的offset处的buf读取无符号的大端序32位整数。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 读取出的内容。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
readUInt32LE(offset?: number): number
从指定的offset处的buf读取无符号的小端序32位整数。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 读取出的内容。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
readUIntBE(offset: number, byteLength: number): number
从指定的offset处的buf读取byteLength个字节,并将结果解释为支持最高48位精度的无符号大端序整数。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
offset | number | 是 | 偏移量。 默认值: 0。 |
byteLength | number | 是 | 要读取的字节数。 |
返回值:
类型 | 说明 |
number | 读取出的内容。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
readUIntLE(offset: number, byteLength: number): number
从指定的offset处的buf读取byteLength个字节,并将结果解释为支持最高48位精度的无符号小端序整数。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
offset | number | 是 | 偏移量。 默认值: 0。 |
byteLength | number | 是 | 要读取的字节数。 |
返回值:
类型 | 说明 |
number | 读取出的内容。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
subarray(start?: number, end?: number): Buffer
截取当前对象指定位置的数据并返回。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
start | number | 否 | 截取开始位置。 默认值: 0。 |
end | number | 否 | 截取结束位置(不包含结束位置)。 默认值: 当前对象的字节长度。 |
返回值:
类型 | 说明 |
Buffer | 返回新的Buffer对象。 |
示例:
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
将当前对象解释为无符号的16位整数数组,并交换字节顺序。
系统能力: SystemCapability.Utils.Lang
返回值:
类型 | 说明 |
Buffer | 交换之后的Buffer实例。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
swap32(): Buffer
将当前对象解释为无符号的32位整数数组,并交换字节顺序。
系统能力: SystemCapability.Utils.Lang
返回值:
类型 | 说明 |
Buffer | 交换之后的Buffer对象。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
swap64(): Buffer
将当前对象解释为无符号的64位整数数组,并交换字节顺序。
系统能力: SystemCapability.Utils.Lang
返回值:
类型 | 说明 |
Buffer | 交换之后的Buffer对象。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
toJSON(): Object
将Buffer转为JSON并返回。
系统能力: SystemCapability.Utils.Lang
返回值:
类型 | 说明 |
Object | JSON对象。 |
示例:
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
将当前对象中指定位置数据转成指定编码格式字符串并返回。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
encoding | string | 否 | 字符编码格式。 默认值: 'utf-8'。 |
start | number | 否 | 开始位置。 默认值: 0。 |
end | number | 否 | 结束位置。 默认值: 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
write
write(str: string, offset?: number, length?: number, encoding?: string): number
从Buffer对象的offset偏移写入指定编码的字符串str,写入的字节长度为length。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
str | string | 是 | 要写入Buffer的字符串。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
length | number | 否 | 最大字节长度。 默认值: (Buffer.length - offset)。 |
encoding | string | 否 | 字符编码。 默认值: 'utf-8'。 |
返回值:
类型 | 说明 |
number | 返回写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeBigInt64BE(value: bigint, offset?: number): number
从Buffer对象的offset偏移写入有符号的大端序64位BigInt型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | bigint | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
10200001 | The value of "[value/offset]" is out of range. |
示例:
import buffer from '@ohos.buffer';
let buf = buffer.allocUninitializedFromPool(8);
buf.writeBigInt64BE(0x0102030405060708n, 0);
writeBigInt64LE
writeBigInt64LE(value: bigint, offset?: number): number
从Buffer对象的offset偏移写入有符号的小端序64位BigInt型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | bigint | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
10200001 | The value of "[value/offset]" is out of range. |
示例:
import buffer from '@ohos.buffer';
let buf = buffer.allocUninitializedFromPool(8);
buf.writeBigInt64LE(0x0102030405060708n, 0);
writeBigUInt64BE
writeBigUInt64BE(value: bigint, offset?: number): number
从Buffer对象的offset偏移写入无符号的大端序64位BigUInt型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | bigint | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
10200001 | The value of "[value/offset]" is out of range. |
示例:
import buffer from '@ohos.buffer';
let buf = buffer.allocUninitializedFromPool(8);
buf.writeBigUInt64BE(0xdecafafecacefaden, 0);
writeBigUInt64LE
writeBigUInt64LE(value: bigint, offset?: number): number
从Buffer对象的offset偏移写入无符号的小端序64位BigUInt型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | bigint | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
10200001 | The value of "[value/offset]" is out of range. |
示例:
import buffer from '@ohos.buffer';
let buf = buffer.allocUninitializedFromPool(8);
buf.writeBigUInt64LE(0xdecafafecacefaden, 0);
writeDoubleBE
writeDoubleBE(value: number, offset?: number): number
从Buffer对象的offset偏移写入大端序的64位双浮点型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeDoubleLE(value: number, offset?: number): number
从Buffer对象的offset偏移写入小端序的64位双浮点型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeFloatBE(value: number, offset?: number): number
从Buffer对象的offset偏移写入大端序的32位浮点型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeFloatLE(value: number, offset?: number): number
从Buffer对象的offset偏移写入小端序的32位浮点型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
10200001 | The value of "[value/offset]" is out of range. |
示例:
import buffer from '@ohos.buffer';
let buf = buffer.allocUninitializedFromPool(8);
buf.writeFloatBE(0xcafebabe, 0);
writeInt8
writeInt8(value: number, offset?: number): number
从Buffer对象的offset偏移写入8位有符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeInt16BE(value: number, offset?: number): number
从Buffer对象的offset偏移写入大端序的16位有符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeInt16LE(value: number, offset?: number): number
从Buffer对象的offset偏移写入小端序的16位有符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeInt32BE(value: number, offset?: number): number
从Buffer对象的offset偏移写入大端序的32位有符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeInt32LE(value: number, offset?: number): number
从Buffer对象的offset偏移写入小端序的32位有符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeIntBE(value: number, offset: number, byteLength: number): number
从Buffer对象的offset偏移写入大端序的有符号value数据,value字节长度为byteLength。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 是 | 偏移量。 默认值: 0。 |
byteLength | number | 是 | 要写入的字节数。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeIntLE(value: number, offset: number, byteLength: number): number
从Buffer对象的offset偏移写入小端序的有符号value数据,value字节长度为byteLength。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 是 | 偏移量。 默认值: 0。 |
byteLength | number | 是 | 要写入的字节数。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeUInt8(value: number, offset?: number): number
从Buffer对象的offset偏移写入8位无符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeUInt16BE(value: number, offset?: number): number
从Buffer对象的offset偏移写入大端序的16位无符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeUInt16LE(value: number, offset?: number): number
从Buffer对象的offset偏移写入小端序的16位无符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeUInt32BE(value: number, offset?: number): number
从Buffer对象的offset偏移写入大端序的32位无符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeUInt32LE(value: number, offset?: number): number
从Buffer对象的offset偏移写入小端序的32位无符号整型数据value。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer对象的数字。 |
offset | number | 否 | 偏移量。 默认值: 0。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeUIntBE(value: number, offset: number, byteLength: number): number
从Buffer对象的offset偏移写入大端序的无符号value数据,value字节长度为byteLength。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 是 | 偏移量。 默认值: 0。 |
byteLength | number | 是 | 要写入的字节数。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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
writeUIntLE(value: number, offset: number, byteLength: number): number
从Buffer对象的offset偏移写入小端序的无符号value数据,value字节长度为byteLength。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
value | number | 是 | 写入Buffer的数据。 |
offset | number | 是 | 偏移量。 默认值: 0。 |
byteLength | number | 是 | 要写入的字节数。 |
返回值:
类型 | 说明 |
number | 写入的字节数。 |
错误码:
以下错误码的详细介绍请参见语言基础类库错误码。
错误码ID | 错误信息 |
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);
Blob
属性
系统能力: SystemCapability.Utils.Lang
名称 | 类型 | 可读 | 可写 | 说明 |
size | number | 是 | 否 | Blob实例的总字节大小。 |
type | string | 是 | 否 | Blob实例的内容类型。 |
constructor
constructor(sources: string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[] , options?: Object)
Blob的构造函数。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
sources | string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[] | 是 | Blob实例的数据源。 |
options | Object | 否 | options: - endings:'transparent'或'native' - type:Blob内容类型 |
示例:
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<ArrayBuffer>
将Blob中的数据放入到ArrayBuffer中,并返回一个Promise。
系统能力: SystemCapability.Utils.Lang
返回值:
类型 | 说明 |
Promise<ArrayBuffer> | Promise对象,返回包含Blob数据的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
创建并返回一个复制原Blob对象中指定数据长度的Blob新对象。
系统能力: SystemCapability.Utils.Lang
参数:
参数名 | 类型 | 必填 | 说明 |
start | number | 否 | 起始位置。 |
end | number | 否 | 结束位置。 |
type | string | 否 | 内容类型。 |
返回值:
类型 | 说明 |
Blob | 新的Blob实例对象。 |
示例:
let blob = new buffer.Blob(['a', 'b', 'c']);
let blob2 = blob.slice(0, 2);
let blob3 = blob.slice(0, 2, "MIME");
text
text(): Promise<string>
使用UTF8进行解码并返回一个文本。使用Promise异步回调。
系统能力: SystemCapability.Utils.Lang
返回值:
类型 | 说明 |
Promise<string> | Promise对象,返回包含以UTF8解码的文本。 |
示例:
let blob = new buffer.Blob(['a', 'b', 'c']);
let pro = blob.text();
pro.then(val => {
console.log(val)
});