From 38e1a3e50930026f88359fb555ff348cb2f9771e Mon Sep 17 00:00:00 2001 From: bi-hu Date: Mon, 26 Jun 2023 15:03:02 +0800 Subject: [PATCH] Modify Base64 module and add MIME encoding format data Signed-off-by: bi-hu --- .../reference/apis/js-apis-util.md | 48 ++++++++++++------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/zh-cn/application-dev/reference/apis/js-apis-util.md b/zh-cn/application-dev/reference/apis/js-apis-util.md index d826373bee..78007e98fd 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-util.md +++ b/zh-cn/application-dev/reference/apis/js-apis-util.md @@ -2080,7 +2080,7 @@ let result = that.encodeSync(array); ### encodeToStringSync9+ -encodeToStringSync(src: Uint8Array): string +encodeToStringSync(src: Uint8Array, options?: Type): string 通过输入参数编码后输出对应文本。 @@ -2091,6 +2091,7 @@ encodeToStringSync(src: Uint8Array): string | 参数名 | 类型 | 必填 | 说明 | | ------ | ---------- | ---- | ------------------- | | src | Uint8Array | 是 | 编码输入Uint8数组。 | +| options10+ | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。
此参数可选,可选值为:util.Type.BASIC和util.Type.MIME,默认值为:util.Type.BASIC。
- 当参数取值为util.Type.BASIC时,输出结果包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',没有回车符、换行符。
- 当参数取值为util.Type.MIME时,输出结果包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',编码输出每一行不超过76个字符,而且每行以'\r\n'符结束。| **返回值:** @@ -2102,14 +2103,14 @@ encodeToStringSync(src: Uint8Array): string ```js let that = new util.Base64Helper(); -let array = new Uint8Array([115,49,51]); -let result = that.encodeToStringSync(array); +let array = new Uint8Array([77,97,110,105,115,100,105,115,116,105,110,103,117,105,115,104,101,100,110,111,116,111,110,108,121,98,121,104,105,115,114,101,97,115,111,110,98,117,116,98,121,116,104,105,115,115,105,110,103,117,108,97,114,112,97,115,115,105,111,110,102,114,111,109,111,116,104,101,114,97,110,105,109,97,108,115,119,104,105,99,104,105,115,97,108,117,115,116,111,102,116,104,101,109,105,110,100,101,120,99,101,101,100,115,116,104,101,115,104,111,114,116,118,101,104,101,109,101,110,99,101,111,102,97,110,121,99,97,114,110,97,108,112,108,101,97,115,117,114,101]); +let result = that.encodeToStringSync(array, util.Type.MIME); ``` ### decodeSync9+ -decodeSync(src: Uint8Array | string): Uint8Array +decodeSync(src: Uint8Array | string, options?: Type): Uint8Array 通过输入参数解码后输出对应文本。 @@ -2120,6 +2121,7 @@ decodeSync(src: Uint8Array | string): Uint8Array | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------------------------ | ---- | ----------------------------- | | src | Uint8Array \| string | 是 | 解码输入Uint8数组或者字符串。 | +| options10+ | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。
此参数可选,可选值为:util.Type.BASIC和util.Type.MIME,默认值为:util.Type.BASIC。
- 当参数取值为util.Type.BASIC时,表示入参包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',没有回车符、换行符。
- 当参数取值为util.Type.MIME时,表示入参包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',每一行不超过76个字符,而且每行以'\r\n'符结束。 | **返回值:** @@ -2131,8 +2133,8 @@ decodeSync(src: Uint8Array | string): Uint8Array ```js let that = new util.Base64Helper(); -let buff = 'czEz'; -let result = that.decodeSync(buff); +let buff = 'TWFuaXNkaXN0aW5ndWlzaGVkbm90b25seWJ5aGlzcmVhc29uYnV0Ynl0aGlzc2luZ3VsYXJwYXNz\r\naW9uZnJvbW90aGVyYW5pbWFsc3doaWNoaXNhbHVzdG9mdGhlbWluZGV4Y2VlZHN0aGVzaG9ydHZl\r\naGVtZW5jZW9mYW55Y2FybmFscGxlYXN1cmU=\r\n'; +let result = that.decodeSync(buff, util.Type.MIME); ``` @@ -2172,7 +2174,7 @@ that.encode(array).then(val=>{ ### encodeToString9+ -encodeToString(src: Uint8Array): Promise<string> +encodeToString(src: Uint8Array, options?: Type): Promise<string> 通过输入参数异步编码后输出对应文本。 @@ -2183,6 +2185,7 @@ encodeToString(src: Uint8Array): Promise<string> | 参数名 | 类型 | 必填 | 说明 | | ------ | ---------- | ---- | ----------------------- | | src | Uint8Array | 是 | 异步编码输入Uint8数组。 | +| options10+ | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。
此参数可选,可选值为:util.Type.BASIC和util.Type.MIME,默认值为:util.Type.BASIC。
- 当参数取值为util.Type.BASIC时,输出结果包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',没有回车符、换行符。
- 当参数取值为util.Type.MIME时,输出结果包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',编码输出每一行不超过76个字符,而且每行以'\r\n'符结束。 | **返回值:** @@ -2194,16 +2197,16 @@ encodeToString(src: Uint8Array): Promise<string> ```js let that = new util.Base64Helper(); -let array = new Uint8Array([115,49,51]); -that.encodeToString(array).then(val=>{ - console.log(val) +let array = new Uint8Array([77,97,110,105,115,100,105,115,116,105,110,103,117,105,115,104,101,100,110,111,116,111,110,108,121,98,121,104,105,115,114,101,97,115,111,110,98,117,116,98,121,116,104,105,115,115,105,110,103,117,108,97,114,112,97,115,115,105,111,110,102,114,111,109,111,116,104,101,114,97,110,105,109,97,108,115,119,104,105,99,104,105,115,97,108,117,115,116,111,102,116,104,101,109,105,110,100,101,120,99,101,101,100,115,116,104,101,115,104,111,114,116,118,101,104,101,109,101,110,99,101,111,102,97,110,121,99,97,114,110,97,108,112,108,101,97,115,117,114,101]); +that.encodeToString(array, util.Type.MIME).then(val=>{ + // 根据开发者需求进行添加。 }) ``` ### decode9+ -decode(src: Uint8Array | string): Promise<Uint8Array> +decode(src: Uint8Array | string, options?: Type): Promise<Uint8Array> 通过输入参数异步解码后输出对应文本。 @@ -2214,6 +2217,7 @@ decode(src: Uint8Array | string): Promise<Uint8Array> | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------------------------ | ---- | --------------------------------- | | src | Uint8Array \| string | 是 | 异步解码输入Uint8数组或者字符串。 | +| options10+ | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。
此参数可选,可选值为:util.Type.BASIC和util.Type.MIME,默认值为:util.Type.BASIC。
- 当参数取值为util.Type.BASIC时,表示入参包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',没有回车符、换行符。
- 当参数取值为util.Type.MIME时,表示入参包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',每一行不超过76个字符,而且每行以'\r\n'符结束。 | **返回值:** @@ -2225,15 +2229,25 @@ decode(src: Uint8Array | string): Promise<Uint8Array> ```js let that = new util.Base64Helper(); -let array = new Uint8Array([99,122,69,122]); -let rarray = new Uint8Array([115,49,51]); -that.decode(array).then(val=>{ - for (var i = 0; i < rarray.length; i++) { - console.log(val[i].toString()) - } +let array = 'TWFuaXNkaXN0aW5ndWlzaGVkbm90b25seWJ5aGlzcmVhc29uYnV0Ynl0aGlzc2luZ3VsYXJwYXNz\r\naW9uZnJvbW90aGVyYW5pbWFsc3doaWNoaXNhbHVzdG9mdGhlbWluZGV4Y2VlZHN0aGVzaG9ydHZl\r\naGVtZW5jZW9mYW55Y2FybmFscGxlYXN1cmU=\r\n'; +that.decode(array, util.Type.MIME).then(val=>{ + // 根据开发者需求进行添加。 }) ``` + +## Type10+ + +Base64编码格式枚举。 + +**系统能力:** SystemCapability.Utils.Lang + +| 名称 | 值 | 说明 | +| -------- | ------------------------ | ---------------- | +| BASIC | 0 | 表示BASIC编码格式 | +| MIME | 1 | 表示MIME编码格式。 | + + ## types8+ types为不同类型的内置对象提供类型检查,可以避免由于类型错误导致的异常或崩溃。该模块包含了多个工具函数,用于判断JS对象是否属于各种类型例如:ArrayBuffer、Map、Set等。 -- GitLab