diff --git a/zh-cn/application-dev/reference/apis-arkts/js-apis-buffer.md b/zh-cn/application-dev/reference/apis-arkts/js-apis-buffer.md index 71faf8e7accddc7e9ef3d62ff7f6dde927d17911..f764efbb225a9bed9a028d60d7b6878789ad9084 100644 --- a/zh-cn/application-dev/reference/apis-arkts/js-apis-buffer.md +++ b/zh-cn/application-dev/reference/apis-arkts/js-apis-buffer.md @@ -13,6 +13,20 @@ Buffer对象用于表示固定长度的字节序列,是专门存放二进制 ```ts import { buffer } from '@kit.ArkTS'; ``` +## BlobOptions20+ + +创建Blob相关选项。 + +**原子化服务API**:从API version 20开始,该接口支持在原子化服务中使用。 + +**系统能力:** SystemCapability.Utils.Lang + +**ArkTS版本:** 该接口仅适用于ArkTS1.2。 + +| 名称 | 类型 | 必填 | 说明 | +| --------- | -------- | ---- | ------------------ | +| type | string | 否 | Blob内容类型。其目的是让类型传达数据的MIME媒体类型,但是不执行类型格式的验证。此参数非必填,默认参数为''。 | +| endings | string | 否 | 含义为结束符'\n'的字符串如何被输出,为'transparent'或'native'。native代表行结束符会跟随系统。'transparent'代表会保持Blob中保存的结束符不变。此参数非必填,默认值为'transparent'。 | ## BufferEncoding @@ -160,7 +174,9 @@ buf.fill(0); ## buffer.byteLength -byteLength(string: string | Buffer | TypedArray | DataView | ArrayBuffer | SharedArrayBuffer, encoding?: BufferEncoding): number +ArkTS1.1:byteLength(string: string | Buffer | TypedArray | DataView | ArrayBuffer | SharedArrayBuffer, encoding?: BufferEncoding): number + +ArkTS1.2:byteLength(doc: string | Buffer | TypedArray | DataView | ArrayBuffer, encoding?: BufferEncoding): number 根据不同的编码方法,返回指定字符串的字节数。 @@ -172,7 +188,7 @@ byteLength(string: string | Buffer | TypedArray | DataView | ArrayBuffer | Share | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| string | string \| Buffer \| TypedArray \| DataView \| ArrayBuffer \| SharedArrayBuffer | 是 | 指定字符串。 | +| ArkTS1.1:string
ArkTS1.2:doc | ArkTS1.1:string \| Buffer \| TypedArray \| DataView \| ArrayBuffer \| SharedArrayBuffer
ArkTS1.2:string \| Buffer \| TypedArray \| DataView \| ArrayBuffer | 是 | 指定字符串。 | | encoding | [BufferEncoding](#bufferencoding) | 否 | 编码格式。默认值:'utf8'。 | **返回值:** @@ -201,7 +217,9 @@ console.info(`${str}: ${str.length} characters, ${buffer.byteLength(str, 'utf-8' ## buffer.compare -compare(buf1: Buffer | Uint8Array, buf2: Buffer | Uint8Array): -1 | 0 | 1 +ArkTS1.1:compare(buf1: Buffer | Uint8Array, buf2: Buffer | Uint8Array): -1 | 0 | 1 + +ArkTS1.2:compare(buf1: Buffer | Uint8Array, buf2: Buffer | Uint8Array): number 返回两个数组的比较结果,通常用于对Buffer对象数组进行排序。 @@ -220,9 +238,9 @@ compare(buf1: Buffer | Uint8Array, buf2: Buffer | Uint8Array): -1 | 0 | 1 | 类型 | 说明 | | -------- | -------- | -| -1 \| 0 \| 1 | 如果buf1与buf2相同,则返回0。
如果排序时buf1位于buf2之后,则返回1。
如果排序时buf1位于buf2之前,则返回-1。 | +| ArkTS1.1:-1 \| 0 \| 1
ArkTS1.2:number | 如果buf1与buf2相同,则返回0。
如果排序时buf1位于buf2之后,则返回1。
如果排序时buf1位于buf2之前,则返回-1。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -230,6 +248,10 @@ compare(buf1: Buffer | Uint8Array, buf2: Buffer | Uint8Array): -1 | 0 | 1 | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -266,7 +288,7 @@ concat(list: Buffer[] | Uint8Array[], totalLength?: number): Buffer | -------- | -------- | | Buffer | 返回新的Buffer对象。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -275,6 +297,14 @@ concat(list: Buffer[] | Uint8Array[], totalLength?: number): Buffer | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "length" is out of range. It must be >= 0 and <= uint32 max. Received value is: [length] | +**ArkTS1.2版本错误码:** + +以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 + +| 错误码ID | 错误信息 | +| -------- | -------- | +| 10200001 | The value of "length" is out of range. It must be >= 0 and <= uint32 max. Received value is: [length] | + **示例:** ```ts @@ -309,7 +339,7 @@ from(array: number[]): Buffer; | -------- | -------- | | Buffer | 新的Buffer对象。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -317,6 +347,10 @@ from(array: number[]): Buffer; | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -329,7 +363,9 @@ console.info(buf.toString('hex')); ## buffer.from -from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: number): Buffer +ArkTS1.1:from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: number): Buffer + +ArkTS1.2:from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer 创建指定长度的与`arrayBuffer`共享内存的Buffer对象。 @@ -341,7 +377,7 @@ from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| arrayBuffer | ArrayBuffer \| SharedArrayBuffer | 是 | 实例对象。 | +| arrayBuffer | ArkTS1.1: ArrayBuffer \| SharedArrayBuffer
ArkTS1.2:ArrayBuffer | 是 | 实例对象。 | | byteOffset | number | 否 | 字节偏移量,默认值:0。 | | length | number | 否 | 字节长度, 默认值:(arrayBuffer.byteLength - byteOffset)。 | @@ -351,7 +387,7 @@ from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: | -------- | -------- | | Buffer | 返回一个Buffer对象,与入参对象保持内存共享。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -360,6 +396,10 @@ from(arrayBuffer: ArrayBuffer | SharedArrayBuffer, byteOffset?: number, length?: | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[byteOffset/length]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [byteOffset/length] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -392,7 +432,7 @@ from(buffer: Buffer | Uint8Array): Buffer | -------- | -------- | | Buffer | 新的Buffer对象。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -400,6 +440,10 @@ from(buffer: Buffer | Uint8Array): Buffer | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -441,7 +485,7 @@ from(object: Object, offsetOrEncoding: number | string, length: number): Buffer | -------- | -------- | | Buffer | 返回新的Buffer对象。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -449,6 +493,10 @@ from(object: Object, offsetOrEncoding: number | string, length: number): Buffer | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -480,7 +528,7 @@ from(string: String, encoding?: BufferEncoding): Buffer | -------- | -------- | | Buffer | 返回新的Buffer对象。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -488,6 +536,10 @@ from(string: String, encoding?: BufferEncoding): Buffer | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -527,6 +579,8 @@ isBuffer(obj: Object): boolean **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -547,6 +601,29 @@ console.info("result4 = " + result4); // 输出结果:result4 = false ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let result = buffer.isBuffer(buffer.alloc(10)); // 10: buffer size +console.info("result = " + result); +// 输出结果:result = true +let result1 = buffer.isBuffer(buffer.from('foo')); +console.info("result1 = " + result1); +// 输出结果:result1 = true +let result2 = buffer.isBuffer('a string'); +console.info("result2 = " + result2); +// 输出结果:result2 = false +let src: Array = [] +let result3 = buffer.isBuffer(src); +console.info("result3 = " + result3); +// 输出结果:result3 = false +let result4 = buffer.isBuffer(new Uint8Array(1024)); +console.info("result4 = " + result4); +// 输出结果:result4 = false +``` + ## buffer.isEncoding isEncoding(encoding: string): boolean @@ -571,6 +648,8 @@ isEncoding(encoding: string): boolean **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -584,6 +663,21 @@ console.info(buffer.isEncoding('').toString()); // 输出结果:false ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +console.info(buffer.isEncoding('utf-8')); +// 输出结果:true +console.info(buffer.isEncoding('hex')); +// 输出结果:true +console.info(buffer.isEncoding('utf/8')); +// 输出结果:false +console.info(buffer.isEncoding('')); +// 输出结果:false +``` + ## buffer.transcode transcode(source: Buffer | Uint8Array, fromEnc: string, toEnc: string): Buffer @@ -608,7 +702,7 @@ transcode(source: Buffer | Uint8Array, fromEnc: string, toEnc: string): Buffer | -------- | -------- | | Buffer | 根据当前编码转换成目标编码,并返回一个新的buffer实例。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -616,6 +710,10 @@ transcode(source: Buffer | Uint8Array, fromEnc: string, toEnc: string): Buffer | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -640,7 +738,7 @@ console.info("newBuf = " + newBuf.toString('ascii')); | buffer | ArrayBuffer | 是 | 否 | ArrayBuffer对象。 | | byteOffset | number | 是 | 否 | 当前Buffer所在内存池的偏移量。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 @@ -648,6 +746,10 @@ console.info("newBuf = " + newBuf.toString('ascii')); | -------- | -------- | | 10200013 | ${propertyName} cannot be set for the buffer that has only a getter. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -665,7 +767,9 @@ console.info(JSON.stringify(buf.byteOffset)); ### compare -compare(target: Buffer | Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): -1 | 0 | 1 +ArkTS1.1: compare(target: Buffer | Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): -1 | 0 | 1 + +ArkTS1.2: compare(target: Buffer | Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number 当前Buffer对象与目标Buffer对象进行比较,并返回Buffer在排序中的顺序结果。 @@ -689,7 +793,7 @@ compare(target: Buffer | Uint8Array, targetStart?: number, targetEnd?: number, s | -------- | -------- | | number | 返回比较结果。-1:当前排列在目标前,0:当前与目标相同,1:当前排列在目标后。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -698,6 +802,12 @@ compare(target: Buffer | Uint8Array, targetStart?: number, targetEnd?: number, s | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[targetStart/targetEnd/sourceStart/sourceEnd]" is out of range. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + +**ArkTS1.1版本:** + **示例:** ```ts @@ -714,6 +824,24 @@ console.info(buf1.compare(buf2, 5, 6, 5).toString()); // 输出结果:1 ``` +**ArkTS1.2版本:** + +**示例:** + +```ts +import { buffer } from '@kit.ArkTS'; + +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.info(buf1.compare(buf2, 5, 9, 0, 4)); +// 输出结果:0 +console.info(buf1.compare(buf2, 0, 6, 4)); +// 输出结果:-1 +console.info(buf1.compare(buf2, 5, 6, 5)); +// 输出结果:1 +``` + ### copy copy(target: Buffer| Uint8Array, targetStart?: number, sourceStart?: number, sourceEnd?: number): number @@ -739,7 +867,7 @@ copy(target: Buffer| Uint8Array, targetStart?: number, sourceStart?: number, sou | -------- | -------- | | number | 复制的字节总长度。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -748,6 +876,14 @@ copy(target: Buffer| Uint8Array, targetStart?: number, sourceStart?: number, sou | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[targetStart/sourceStart/sourceEnd]" is out of range. | +**ArkTS1.2版本错误码:** + +以下错误码的详细介绍请参见[语言基础类库错误码](errorcode-utils.md)。 + +| 错误码ID | 错误信息 | +| -------- | -------- | +| 10200001 | The value of "[targetStart/sourceStart/sourceEnd]" is out of range. | + **示例:** ```ts @@ -783,6 +919,8 @@ entries(): IterableIterator<[number, number]> **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -803,6 +941,26 @@ while (!next.done) { } ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from('buffer'); +let pair = buf.entries(); +for (let value of pair) { + console.info("buffer: " + value); + /* + 输出结果:buffer: 0,98 + buffer: 1,117 + buffer: 2,102 + buffer: 3,102 + buffer: 4,101 + buffer: 5,114 + */ +} +``` + ### equals equals(otherBuffer: Uint8Array | Buffer): boolean @@ -825,7 +983,7 @@ equals(otherBuffer: Uint8Array | Buffer): boolean | -------- | -------- | | boolean | 相等则返回true,否则返回false。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -833,8 +991,14 @@ equals(otherBuffer: Uint8Array | Buffer): boolean | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -848,6 +1012,21 @@ console.info(buf1.equals(buf3).toString()); // 输出结果:false ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf1 = buffer.from('ABC'); +let buf2 = buffer.from('414243', 'hex'); +let buf3 = buffer.from('ABCD'); + +console.info(buf1.equals(buf2)); +// 输出结果:true +console.info(buf1.equals(buf3)); +// 输出结果:false +``` + ### fill fill(value: string | Buffer | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): Buffer @@ -917,7 +1096,7 @@ includes(value: string | number | Buffer | Uint8Array, byteOffset?: number, enco | -------- | -------- | | boolean | 存在为true,否则为false。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -925,8 +1104,14 @@ includes(value: string | number | Buffer | Uint8Array, byteOffset?: number, enco | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -937,6 +1122,18 @@ console.info(buf.includes('be').toString()); // 输出结果:false ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from('this is a buffer'); +console.info(buf.includes('this')); +// 输出结果:true +console.info(buf.includes('be')); +// 输出结果:false +``` + ### indexOf indexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number @@ -961,7 +1158,7 @@ indexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, encod | -------- | -------- | | number | 第一次出现位置。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -969,8 +1166,14 @@ indexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, encod | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -981,6 +1184,18 @@ console.info(buf.indexOf('is').toString()); // 输出结果:2 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from('this is a buffer'); +console.info(buf.indexOf('this')); +// 输出结果:0 +console.info(buf.indexOf('is')); +// 输出结果:2 +``` + ### keys keys(): IterableIterator<number> @@ -1041,7 +1256,7 @@ lastIndexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, e | -------- | -------- | | number | 最后一次出现`value`值的索引。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -1049,8 +1264,14 @@ lastIndexOf(value: string | number | Buffer | Uint8Array, byteOffset?: number, e | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1061,6 +1282,17 @@ console.info(buf.lastIndexOf('buffer').toString()); // 输出结果:17 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from('this buffer is a buffer'); +console.info(buf.lastIndexOf('this')); +// 输出结果:0 +console.info(buf.lastIndexOf('buffer')); +// 输出结果:17 +``` ### readBigInt64BE @@ -1084,7 +1316,7 @@ readBigInt64BE(offset?: number): bigint | -------- | -------- | | bigint | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1093,8 +1325,14 @@ readBigInt64BE(offset?: number): bigint | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1109,6 +1347,22 @@ console.info("result = " + result); // 输出结果:result = 8 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, + 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]); +console.info(buf.readBigInt64BE(0)); +// 输出结果:7161960797921896816 + +let buf1 = buffer.allocUninitializedFromPool(8); +let result = buf1.writeBigInt64BE(BigInt(0x0102030405060708), 0); +console.info("result = " + result); +// 输出结果:result = 8 +``` + ### readBigInt64LE readBigInt64LE(offset?: number): bigint @@ -1131,7 +1385,7 @@ readBigInt64LE(offset?: number): bigint | -------- | -------- | | bigint | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1140,8 +1394,14 @@ readBigInt64LE(offset?: number): bigint | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1156,6 +1416,22 @@ console.info("result = " + result); // 输出结果:result = 8 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, + 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]); +console.info(buf.readBigUInt64BE(0)); +// 输出结果:7161960797921896816 + +let buf1 = buffer.allocUninitializedFromPool(8); +let result = buf1.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0); +console.info("result = " + result); +// 输出结果:result = 8 +``` + ### readBigUInt64BE readBigUInt64BE(offset?: number): bigint @@ -1178,7 +1454,7 @@ readBigUInt64BE(offset?: number): bigint | -------- | -------- | | bigint | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1187,8 +1463,14 @@ readBigUInt64BE(offset?: number): bigint | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1202,6 +1484,21 @@ console.info("result = " + result); // 输出结果:result = 8 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, + 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]); +console.info(buf.readBigUInt64BE(0)); +// 输出结果:7161960797921896816 +let buf1 = buffer.allocUninitializedFromPool(8); +let result = buf1.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0); +console.info("result = " + result); +// 输出结果:result = 8 +``` + ### readBigUInt64LE readBigUInt64LE(offset?: number): bigint @@ -1224,7 +1521,7 @@ readBigUInt64LE(offset?: number): bigint | -------- | -------- | | bigint | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1233,8 +1530,14 @@ readBigUInt64LE(offset?: number): bigint | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1249,6 +1552,22 @@ console.info("result = " + result); // 输出结果:result = 8 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x70, + 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78]); +console.info(buf.readBigUInt64LE(0)); +// 输出结果:8100120198111388771 + +let buf1 = buffer.allocUninitializedFromPool(8); +let result = buf1.writeBigUInt64BE(BigInt(0xdecafafecacefade), 0); +console.info("result = " + result); +// 输出结果:result = 8 +``` + ### readDoubleBE readDoubleBE(offset?: number): number @@ -1271,7 +1590,7 @@ readDoubleBE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1280,8 +1599,14 @@ readDoubleBE(offset?: number): number | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1294,6 +1619,20 @@ console.info("result = " + result); // 输出结果:result = 8 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); +console.info(buf.readDoubleBE(0)); +// 输出结果:8.20788039913184e-304 +let buf1 = buffer.allocUninitializedFromPool(8); +let result = buf1.writeDoubleBE(123.456, 0); +console.info("result = " + result); +// 输出结果:result = 8 +``` + ### readDoubleLE readDoubleLE(offset?: number): number @@ -1316,7 +1655,7 @@ readDoubleLE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1325,8 +1664,14 @@ readDoubleLE(offset?: number): number | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1339,6 +1684,20 @@ console.info("result = " + result); // 输出结果:result = 8 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); +console.info(buf.readDoubleLE(0)); +// 输出结果:5.447603722011605e-270 +let buf1 = buffer.allocUninitializedFromPool(8); +let result = buf1.writeDoubleLE(123.456, 0); +console.info("result = " + result); +// 输出结果:result = 8 +``` + ### readFloatBE readFloatBE(offset?: number): number @@ -1361,7 +1720,7 @@ readFloatBE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1370,8 +1729,14 @@ readFloatBE(offset?: number): number | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1384,6 +1749,20 @@ console.info("result = " + result); // 输出结果:result = 4 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); +console.info(buf.readFloatBE(0)); +// 输出结果:2.387939260590663e-38 +let buf1 = buffer.allocUninitializedFromPool(4); +let result = buf1.writeFloatBE(0xcabcbcbc, 0); +console.info("result = " + result); +// 输出结果:result = 4 +``` + ### readFloatLE readFloatLE(offset?: number): number @@ -1406,7 +1785,7 @@ readFloatLE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1415,8 +1794,14 @@ readFloatLE(offset?: number): number | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1429,6 +1814,20 @@ console.info("result = " + result); // 输出结果:result = 4 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([1, 2, 3, 4, 5, 6, 7, 8]); +console.info(buf.readFloatLE(0)); +// 输出结果:1.539989614439558e-36 +let buf1 = buffer.allocUninitializedFromPool(4); +let result = buf1.writeFloatLE(0xcabcbcbc, 0); +console.info("result = " + result); +// 输出结果:result = 4 +``` + ### readInt8 readInt8(offset?: number): number @@ -1451,7 +1850,7 @@ readInt8(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1460,8 +1859,14 @@ readInt8(offset?: number): number | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 1. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1476,6 +1881,22 @@ console.info("result = " + result); // 输出结果:result = 1 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([-1, 5]); +console.info(buf.readInt8(0)); +// 输出结果:0 +console.info(buf.readInt8(1)); +// 输出结果:5 +let buf1 = buffer.allocUninitializedFromPool(2); +let result = buf1.writeInt8(0x12); +console.info("result = " + result); +// 输出结果:result = 1 +``` + ### readInt16BE readInt16BE(offset?: number): number @@ -1498,7 +1919,7 @@ readInt16BE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1507,8 +1928,14 @@ readInt16BE(offset?: number): number | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 2. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1521,6 +1948,20 @@ console.info("result = " + result); // 输出结果:result = 2 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0, 5]); +console.info(buf.readInt16BE(0)); +// 输出结果:5 +let buf1 = buffer.alloc(2); +let result = buf1.writeInt16BE(0x1234, 0); +console.info("result = " + result); +// 输出结果:result = 2 +``` + ### readInt16LE readInt16LE(offset?: number): number @@ -1543,7 +1984,7 @@ readInt16LE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1552,8 +1993,14 @@ readInt16LE(offset?: number): number | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 2. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1566,6 +2013,20 @@ console.info("result = " + result); // 输出结果:result = 2 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0, 5]); +console.info(buf.readInt16LE(0)); +// 输出结果:1280 +let buf1 = buffer.alloc(2); +let result = buf1.writeInt16BE(0x1234, 0); +console.info("result = " + result); +// 输出结果:result = 2 +``` + ### readInt32BE readInt32BE(offset?: number): number @@ -1588,7 +2049,7 @@ readInt32BE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1597,8 +2058,14 @@ readInt32BE(offset?: number): number | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1611,6 +2078,20 @@ console.info("result = " + result); // 输出结果:result = 4 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0, 0, 0, 5]); +console.info(buf.readInt32BE(0)); +// 输出结果:5 +let buf1 = buffer.alloc(4); +let result = buf1.writeInt32BE(0x12345678, 0); +console.info("result = " + result); +// 输出结果:result = 4 +``` + ### readInt32LE readInt32LE(offset?: number): number @@ -1633,7 +2114,7 @@ readInt32LE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1642,8 +2123,14 @@ readInt32LE(offset?: number): number | 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1656,6 +2143,20 @@ console.info("result = " + result); // 输出结果:result = 4 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0, 0, 0, 5]); +console.info(buf.readInt32LE(0)); +// 输出结果:83886080 +let buf1 = buffer.alloc(4); +let result = buf1.writeInt32BE(0x12345678, 0); +console.info("result = " + result); +// 输出结果:result = 4 +``` + ### readIntBE readIntBE(offset: number, byteLength: number): number @@ -1680,7 +2181,7 @@ readIntBE(offset: number, byteLength: number): number | -------- | -------- | | number | 读取的内容。当offset为小数时,返回undefined。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1689,8 +2190,14 @@ readIntBE(offset: number, byteLength: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1704,6 +2211,20 @@ console.info("result = " + result); // 输出结果:result = 6 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from("ab"); +let num = buf.readIntBE(0, 1); +console.info("num = " + num); +// 输出结果: num = 97 +let buf1 = buffer.allocUninitializedFromPool(6); +let result = buf1.writeIntBE(0x123456789011, 0, 6); +console.info("result = " + result); +// 输出结果:result = 6 +``` ### readIntLE @@ -1729,7 +2250,7 @@ readIntLE(offset: number, byteLength: number): number | -------- | -------- | | number | 读取出的内容。当offset为小数时,返回undefined。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1738,8 +2259,14 @@ readIntLE(offset: number, byteLength: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1752,6 +2279,20 @@ console.info("result = " + result); // 输出结果:result = 6 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); +console.info(buf.readIntLE(0, 6)); +// 输出结果:-546f87a9cbee +let buf1 = buffer.allocUninitializedFromPool(6); +let result = buf1.writeIntLE(0x123456789011, 0, 6); +console.info("result = " + result); +// 输出结果:result = 6 +``` + ### readUInt8 readUInt8(offset?: number): number @@ -1775,7 +2316,7 @@ readUInt8(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1784,15 +2325,37 @@ readUInt8(offset?: number): number | 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 1. Received value is: [offset]. | -**示例:** +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + +**示例:** + +**ArkTS1.1版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([1, -2]); +console.info(buf.readUInt8(0).toString()); +// 输出结果:1 +console.info(buf.readUInt8(1).toString()); +// 输出结果:0 +let buf1 = buffer.allocUninitializedFromPool(4); +let result = buf1.writeUInt8(0x42); +console.info("result = " + result); +// 输出结果:result = 1 +``` + +**ArkTS1.2版本:** ```ts import { buffer } from '@kit.ArkTS'; let buf = buffer.from([1, -2]); -console.info(buf.readUInt8(0).toString()); +console.info(buf.readUInt8(0)); // 输出结果:1 -console.info(buf.readUInt8(1).toString()); +console.info(buf.readUInt8(1)); // 输出结果:0 let buf1 = buffer.allocUninitializedFromPool(4); let result = buf1.writeUInt8(0x42); @@ -1823,7 +2386,7 @@ readUInt16BE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1832,8 +2395,14 @@ readUInt16BE(offset?: number): number | 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 2. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1848,6 +2417,22 @@ console.info("result = " + result); // 输出结果:result = 2 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x12, 0x34, 0x56]); +console.info(Number(buf.readUInt16BE(0)).toString(16)); +// 输出结果:1234 +console.info(Number(buf.readUInt16BE(1)).toString(16)); +// 输出结果:3456 +let buf1 = buffer.allocUninitializedFromPool(4); +let result = buf1.writeUInt16BE(0x1234, 0); +console.info("result = " + result); +// 输出结果:result = 2 +``` + ### readUInt16LE readUInt16LE(offset?: number): number @@ -1871,7 +2456,7 @@ readUInt16LE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1880,8 +2465,14 @@ readUInt16LE(offset?: number): number | 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 2. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1896,6 +2487,22 @@ console.info("result = " + result); // 输出结果:result = 2 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x12, 0x34, 0x56]); +console.info(Number(buf.readUInt16LE(0)).toString(16)); +// 输出结果:3412 +console.info(Number(buf.readUInt16LE(1)).toString(16)); +// 输出结果:5634 +let buf1 = buffer.allocUninitializedFromPool(4); +let result = buf1.writeUInt16LE(0x1234, 0); +console.info("result = " + result); +// 输出结果:result = 2 +``` + ### readUInt32BE readUInt32BE(offset?: number): number @@ -1919,7 +2526,7 @@ readUInt32BE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1928,8 +2535,14 @@ readUInt32BE(offset?: number): number | 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1942,6 +2555,20 @@ console.info("result = " + result); // 输出结果:result = 4 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x12, 0x34, 0x56, 0x78]); +console.info(Number(buf.readUInt32BE(0)).toString(16)); +// 输出结果:12345678 +let buf1 = buffer.allocUninitializedFromPool(4); +let result = buf1.writeUInt32BE(0x12345678, 0); +console.info("result = " + result); +// 输出结果:result = 4 +``` + ### readUInt32LE readUInt32LE(offset?: number): number @@ -1965,7 +2592,7 @@ readUInt32LE(offset?: number): number | -------- | -------- | | number | 读取出的内容。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -1974,8 +2601,14 @@ readUInt32LE(offset?: number): number | 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -1988,6 +2621,20 @@ console.info("result = " + result); // 输出结果:result = 4 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x12, 0x34, 0x56, 0x78]); +console.info(Number(buf.readUInt32LE(0)).toString(16)); +// 输出结果:78563412 +let buf1 = buffer.allocUninitializedFromPool(4); +let result = buf1.writeUInt32LE(0x12345678, 0); +console.info("result = " + result); +// 输出结果:result = 4 +``` + ### readUIntBE readUIntBE(offset: number, byteLength: number): number @@ -2012,7 +2659,7 @@ readUIntBE(offset: number, byteLength: number): number | -------- | -------- | | number | 读取出的内容。当offset为小数时,返回undefined。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2021,8 +2668,14 @@ readUIntBE(offset: number, byteLength: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -2035,6 +2688,19 @@ console.info("result = " + result); // 输出结果:result = 4 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); +console.info(Number(buf.readUIntBE(0, 6)).toString(16)); +// 输出结果:1234567890ab +let buf1 = buffer.allocUninitializedFromPool(4); +let result = buf1.writeUIntBE(0x13141516, 0, 4); +console.info("result = " + result); +// 输出结果:result = 4 +``` ### readUIntLE readUIntLE(offset: number, byteLength: number): number @@ -2059,7 +2725,7 @@ readUIntLE(offset: number, byteLength: number): number | -------- | -------- | | number | 读取出的内容。当offset为小数时,返回undefined。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2068,8 +2734,14 @@ readUIntLE(offset: number, byteLength: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -2082,6 +2754,20 @@ console.info("result = " + result); // 输出结果:result = 4 ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([0x12, 0x34, 0x56, 0x78, 0x90, 0xab]); +console.info(Number(buf.readUIntLE(0, 6)).toString(16)); +// 输出结果:ab9078563412 +let buf1 = buffer.allocUninitializedFromPool(4); +let result = buf1.writeUIntLE(0x13141516, 0, 4); +console.info("result = " + result); +// 输出结果:result = 4 +``` + ### subarray subarray(start?: number, end?: number): Buffer @@ -2244,6 +2930,7 @@ toJSON(): Object **系统能力:** SystemCapability.Utils.Lang +**ArkTS版本:** 该接口仅适用于ArkTS1.1。 **返回值:** @@ -2264,7 +2951,9 @@ console.info(JSON.stringify(obj)); ### toString -toString(encoding?: string, start?: number, end?: number): string +ArkTS1.1: toString(encoding?: string, start?: number, end?: number): string + +ArkTS1.2: toString(encoding?: BufferEncoding, start?: number, end?: number): string 将当前对象中指定位置数据转成指定编码格式字符串并返回。 @@ -2276,7 +2965,7 @@ toString(encoding?: string, start?: number, end?: number): string | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| encoding | string | 否 | 字符编码格式。默认值:'utf8'。 | +| encoding | ArkTS1.1: string
ArkTS1.2: [BufferEncoding](#bufferencoding) | 否 | 字符编码格式。默认值:'utf8'。 | | start | number | 否 | 开始位置。默认值:0。 | | end | number | 否 | 结束位置。默认值:Buffer.length。 | @@ -2286,6 +2975,8 @@ toString(encoding?: string, start?: number, end?: number): string | -------- | -------- | | string | 字符串。当start >= Buffer.length或start > end时返回空字符串。 | +**ArkTS1.1版本错误码:** + **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -2294,6 +2985,10 @@ toString(encoding?: string, start?: number, end?: number): string | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2325,6 +3020,8 @@ values(): IterableIterator<number> **示例:** +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -2345,6 +3042,26 @@ while (!next.done) { } ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from('buffer'); +let pair = buf.values(); +for (let value of pair) { + console.info("buffer: " + value); + /* + 输出结果:buffer: 98 + buffer: 117 + buffer: 102 + buffer: 102 + buffer: 101 + buffer: 114 + */ +} +``` + ### write write(str: string, offset?: number, length?: number, encoding?: string): number @@ -2371,7 +3088,7 @@ write(str: string, offset?: number, length?: number, encoding?: string): number | -------- | -------- | | number | 写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2380,6 +3097,10 @@ write(str: string, offset?: number, length?: number, encoding?: string): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[offset/length]" is out of range. It must be >= 0 and <= buf.length. Received value is: [offset/length]. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2420,7 +3141,7 @@ writeBigInt64BE(value: bigint, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2429,6 +3150,10 @@ writeBigInt64BE(value: bigint, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2464,7 +3189,7 @@ writeBigInt64LE(value: bigint, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2473,6 +3198,10 @@ writeBigInt64LE(value: bigint, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2508,7 +3237,7 @@ writeBigUInt64BE(value: bigint, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2517,6 +3246,10 @@ writeBigUInt64BE(value: bigint, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2552,7 +3285,7 @@ writeBigUInt64LE(value: bigint, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2561,6 +3294,10 @@ writeBigUInt64LE(value: bigint, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2596,7 +3333,7 @@ writeDoubleBE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2605,6 +3342,10 @@ writeDoubleBE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2640,7 +3381,7 @@ writeDoubleLE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2649,6 +3390,10 @@ writeDoubleLE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 8. Received value is: [offset] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2684,7 +3429,7 @@ writeFloatBE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2693,6 +3438,10 @@ writeFloatBE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2729,7 +3478,7 @@ writeFloatLE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2738,6 +3487,10 @@ writeFloatLE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "offset" is out of range. It must be >= 0 and <= buf.length - 4. Received value is: [offset] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2773,7 +3526,7 @@ writeInt8(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2782,6 +3535,10 @@ writeInt8(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2821,7 +3578,7 @@ writeInt16BE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2830,6 +3587,10 @@ writeInt16BE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2866,7 +3627,7 @@ writeInt16LE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2875,6 +3636,10 @@ writeInt16LE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2910,7 +3675,7 @@ writeInt32BE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2919,6 +3684,10 @@ writeInt32BE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -2955,7 +3724,7 @@ writeInt32LE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -2964,6 +3733,10 @@ writeInt32LE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3000,7 +3773,7 @@ writeIntBE(value: number, offset: number, byteLength: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -3009,6 +3782,10 @@ writeIntBE(value: number, offset: number, byteLength: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3046,7 +3823,7 @@ writeIntLE(value: number, offset: number, byteLength: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -3055,6 +3832,10 @@ writeIntLE(value: number, offset: number, byteLength: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3090,7 +3871,7 @@ writeUInt8(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -3099,6 +3880,10 @@ writeUInt8(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3143,7 +3928,7 @@ writeUInt16BE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -3152,6 +3937,10 @@ writeUInt16BE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3190,7 +3979,7 @@ writeUInt16LE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -3199,6 +3988,10 @@ writeUInt16LE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3237,7 +4030,7 @@ writeUInt32BE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -3246,6 +4039,10 @@ writeUInt32BE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3281,7 +4078,7 @@ writeUInt32LE(value: number, offset?: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -3290,6 +4087,10 @@ writeUInt32LE(value: number, offset?: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3326,7 +4127,7 @@ writeUIntBE(value: number, offset: number, byteLength: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -3335,6 +4136,10 @@ writeUIntBE(value: number, offset: number, byteLength: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3371,7 +4176,7 @@ writeUIntLE(value: number, offset: number, byteLength: number): number | -------- | -------- | | number | 偏移量offset加上写入的字节数。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[语言基础类库错误码](errorcode-utils.md)。 @@ -3380,6 +4185,10 @@ writeUIntLE(value: number, offset: number, byteLength: number): number | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | | 10200001 | The value of "[param]" is out of range. It must be >= [left range] and <= [right range]. Received value is: [param] | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** ```ts @@ -3391,6 +4200,81 @@ console.info("result = " + result); // 输出结果:result = 6 ``` + +### $_get + +$_get(index: number): number | undefined + +返回指定索引处的数据 + +**原子化服务API**:从API version 20开始,该接口支持在原子化服务中使用。 + +**系统能力:** SystemCapability.Utils.Lang + +**ArkTS版本:** 该接口仅适用于ArkTS1.2。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| index | number | 是 | 要读取的字节索引。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| number \| undefined | 返回指定索引处的数据。 | + +**示例:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.from([5, 10, 15, 20]); +let result1 = buf[1]; +console.info("result1 = " + result1); +// 输出结果:result1 = 5 +let result2 = buf[2]; +console.info("result2 = " + result2); +// 输出结果:result2 = 15 +``` + +### $_set + +$_set(index: number, value: number): void + +将数据设置在指定索引处。 + +**原子化服务API**:从API version 20开始,该接口支持在原子化服务中使用。 + +**系统能力:** SystemCapability.Utils.Lang + +**ArkTS版本:** 该接口仅适用于ArkTS1.2。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| index | number | 是 | 要写入的字节索引。 | +| value | number | 是 | 要写入的数据。 | + +**示例:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let buf = buffer.alloc(4); +buf[1] = 100; +buf[3] = 255 ; +let result1 = buf[1]; +console.info("result1 = " + result1); +// 输出结果:result1 = 100 + +let result2 = buf[3]; +console.info("result2 = " + result2); +// 输出结果:result2 = 255 +``` + ## Blob ### 属性 @@ -3406,7 +4290,9 @@ console.info("result = " + result); ### constructor -constructor(sources: string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[] , options?: Object) +ArkTS1.1: constructor(sources: string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[] , options?: Object) + +ArkTS1.2: constructor(sources: string[] | ArrayBuffer[] | TypedArray[] | DataView[] | Blob[], options?: BlobOptions) Blob的构造函数。 @@ -3419,9 +4305,9 @@ Blob的构造函数。 | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | sources | string[] \| ArrayBuffer[] \| TypedArray[] \| DataView[] \| Blob[] | 是 | Blob实例的数据源。 | -| options | Object | 否 | options:
- endings:含义为结束符'\n'的字符串如何被输出,为'transparent'或'native'。native代表行结束符会跟随系统。'transparent'代表会保持Blob中保存的结束符不变。此参数非必填,默认值为'transparent'。
- type:Blob内容类型。其目的是让类型传达数据的MIME媒体类型,但是不执行类型格式的验证。此参数非必填,默认参数为''。 | +| options | ArkTS1.1: Object
ArkTS1.2: [BlobOptions](#bloboptions20)| 否 | options:
- endings:含义为结束符'\n'的字符串如何被输出,为'transparent'或'native'。native代表行结束符会跟随系统。'transparent'代表会保持Blob中保存的结束符不变。此参数非必填,默认值为'transparent'。
- type:Blob内容类型。其目的是让类型传达数据的MIME媒体类型,但是不执行类型格式的验证。此参数非必填,默认参数为''。 | -**错误码:** +**ArkTS1.1版本错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 @@ -3429,7 +4315,14 @@ Blob的构造函数。 | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | +**ArkTS1.2版本错误码:** + +此接口在ArkTS1.2无错误码 + **示例:** + +**ArkTS1.1版本:** + ```ts import { buffer } from '@kit.ArkTS'; @@ -3443,6 +4336,16 @@ let o1: option = {endings:'native', type: 'MIME'} let blob1: buffer.Blob = new buffer.Blob(['a', 'b', 'c'], o1); ``` +**ArkTS1.2版本:** + +```ts +import { buffer } from '@kit.ArkTS'; + +let blob: buffer.Blob = new buffer.Blob(['a', 'b', 'c']); + +let blob1: buffer.Blob = new buffer.Blob(['a', 'b', 'c'], {endings:'native', type: 'MIME'} as buffer.BlobOptions); +``` + ### arrayBuffer arrayBuffer(): Promise<ArrayBuffer>