提交 38e1a3e5 编写于 作者: B bi-hu

Modify Base64 module and add MIME encoding format data

Signed-off-by: Nbi-hu <bihu@huawei.com>
上级 c005fb6f
...@@ -2080,7 +2080,7 @@ let result = that.encodeSync(array); ...@@ -2080,7 +2080,7 @@ let result = that.encodeSync(array);
### encodeToStringSync<sup>9+</sup> ### encodeToStringSync<sup>9+</sup>
encodeToStringSync(src: Uint8Array): string encodeToStringSync(src: Uint8Array, options?: Type): string
通过输入参数编码后输出对应文本。 通过输入参数编码后输出对应文本。
...@@ -2091,6 +2091,7 @@ encodeToStringSync(src: Uint8Array): string ...@@ -2091,6 +2091,7 @@ encodeToStringSync(src: Uint8Array): string
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------- | ---- | ------------------- | | ------ | ---------- | ---- | ------------------- |
| src | Uint8Array | 是 | 编码输入Uint8数组。 | | src | Uint8Array | 是 | 编码输入Uint8数组。 |
| options<sup>10+</sup> | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。<br/>此参数可选,可选值为:util.Type.BASIC和util.Type.MIME,默认值为:util.Type.BASIC。<br/>- 当参数取值为util.Type.BASIC时,输出结果包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',没有回车符、换行符。<br/>- 当参数取值为util.Type.MIME时,输出结果包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',编码输出每一行不超过76个字符,而且每行以'\r\n'符结束。|
**返回值:** **返回值:**
...@@ -2102,14 +2103,14 @@ encodeToStringSync(src: Uint8Array): string ...@@ -2102,14 +2103,14 @@ encodeToStringSync(src: Uint8Array): string
```js ```js
let that = new util.Base64Helper(); let that = new util.Base64Helper();
let array = new Uint8Array([115,49,51]); 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); let result = that.encodeToStringSync(array, util.Type.MIME);
``` ```
### decodeSync<sup>9+</sup> ### decodeSync<sup>9+</sup>
decodeSync(src: Uint8Array | string): Uint8Array decodeSync(src: Uint8Array | string, options?: Type): Uint8Array
通过输入参数解码后输出对应文本。 通过输入参数解码后输出对应文本。
...@@ -2120,6 +2121,7 @@ decodeSync(src: Uint8Array | string): Uint8Array ...@@ -2120,6 +2121,7 @@ decodeSync(src: Uint8Array | string): Uint8Array
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------ | ---- | ----------------------------- | | ------ | ------------------------------ | ---- | ----------------------------- |
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 解码输入Uint8数组或者字符串。 | | src | Uint8Array&nbsp;\|&nbsp;string | 是 | 解码输入Uint8数组或者字符串。 |
| options<sup>10+</sup> | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。<br/>此参数可选,可选值为:util.Type.BASIC和util.Type.MIME,默认值为:util.Type.BASIC。<br/>- 当参数取值为util.Type.BASIC时,表示入参包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',没有回车符、换行符。<br/>- 当参数取值为util.Type.MIME时,表示入参包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',每一行不超过76个字符,而且每行以'\r\n'符结束。 |
**返回值:** **返回值:**
...@@ -2131,8 +2133,8 @@ decodeSync(src: Uint8Array | string): Uint8Array ...@@ -2131,8 +2133,8 @@ decodeSync(src: Uint8Array | string): Uint8Array
```js ```js
let that = new util.Base64Helper(); let that = new util.Base64Helper();
let buff = 'czEz'; let buff = 'TWFuaXNkaXN0aW5ndWlzaGVkbm90b25seWJ5aGlzcmVhc29uYnV0Ynl0aGlzc2luZ3VsYXJwYXNz\r\naW9uZnJvbW90aGVyYW5pbWFsc3doaWNoaXNhbHVzdG9mdGhlbWluZGV4Y2VlZHN0aGVzaG9ydHZl\r\naGVtZW5jZW9mYW55Y2FybmFscGxlYXN1cmU=\r\n';
let result = that.decodeSync(buff); let result = that.decodeSync(buff, util.Type.MIME);
``` ```
...@@ -2172,7 +2174,7 @@ that.encode(array).then(val=>{ ...@@ -2172,7 +2174,7 @@ that.encode(array).then(val=>{
### encodeToString<sup>9+</sup> ### encodeToString<sup>9+</sup>
encodeToString(src: Uint8Array): Promise&lt;string&gt; encodeToString(src: Uint8Array, options?: Type): Promise&lt;string&gt;
通过输入参数异步编码后输出对应文本。 通过输入参数异步编码后输出对应文本。
...@@ -2183,6 +2185,7 @@ encodeToString(src: Uint8Array): Promise&lt;string&gt; ...@@ -2183,6 +2185,7 @@ encodeToString(src: Uint8Array): Promise&lt;string&gt;
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------- | ---- | ----------------------- | | ------ | ---------- | ---- | ----------------------- |
| src | Uint8Array | 是 | 异步编码输入Uint8数组。 | | src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
| options<sup>10+</sup> | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。<br/>此参数可选,可选值为:util.Type.BASIC和util.Type.MIME,默认值为:util.Type.BASIC。<br/>- 当参数取值为util.Type.BASIC时,输出结果包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',没有回车符、换行符。<br/>- 当参数取值为util.Type.MIME时,输出结果包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',编码输出每一行不超过76个字符,而且每行以'\r\n'符结束。 |
**返回值:** **返回值:**
...@@ -2194,16 +2197,16 @@ encodeToString(src: Uint8Array): Promise&lt;string&gt; ...@@ -2194,16 +2197,16 @@ encodeToString(src: Uint8Array): Promise&lt;string&gt;
```js ```js
let that = new util.Base64Helper(); let that = new util.Base64Helper();
let array = new Uint8Array([115,49,51]); 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).then(val=>{ that.encodeToString(array, util.Type.MIME).then(val=>{
console.log(val) // 根据开发者需求进行添加。
}) })
``` ```
### decode<sup>9+</sup> ### decode<sup>9+</sup>
decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt; decode(src: Uint8Array | string, options?: Type): Promise&lt;Uint8Array&gt;
通过输入参数异步解码后输出对应文本。 通过输入参数异步解码后输出对应文本。
...@@ -2214,6 +2217,7 @@ decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt; ...@@ -2214,6 +2217,7 @@ decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt;
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------ | ---- | --------------------------------- | | ------ | ------------------------------ | ---- | --------------------------------- |
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 异步解码输入Uint8数组或者字符串。 | | src | Uint8Array&nbsp;\|&nbsp;string | 是 | 异步解码输入Uint8数组或者字符串。 |
| options<sup>10+</sup> | [Type](#type10) | 否 | 从API version 10开始支持该参数,表示对应的编码格式。<br/>此参数可选,可选值为:util.Type.BASIC和util.Type.MIME,默认值为:util.Type.BASIC。<br/>- 当参数取值为util.Type.BASIC时,表示入参包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',没有回车符、换行符。<br/>- 当参数取值为util.Type.MIME时,表示入参包含:64个可打印字符,包括大写字母A-Z、小写字母a-z、数字0-9共62个字符,再加上另外2个'+'和'/',每一行不超过76个字符,而且每行以'\r\n'符结束。 |
**返回值:** **返回值:**
...@@ -2225,15 +2229,25 @@ decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt; ...@@ -2225,15 +2229,25 @@ decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt;
```js ```js
let that = new util.Base64Helper(); let that = new util.Base64Helper();
let array = new Uint8Array([99,122,69,122]); let array = 'TWFuaXNkaXN0aW5ndWlzaGVkbm90b25seWJ5aGlzcmVhc29uYnV0Ynl0aGlzc2luZ3VsYXJwYXNz\r\naW9uZnJvbW90aGVyYW5pbWFsc3doaWNoaXNhbHVzdG9mdGhlbWluZGV4Y2VlZHN0aGVzaG9ydHZl\r\naGVtZW5jZW9mYW55Y2FybmFscGxlYXN1cmU=\r\n';
let rarray = new Uint8Array([115,49,51]); that.decode(array, util.Type.MIME).then(val=>{
that.decode(array).then(val=>{ // 根据开发者需求进行添加。
for (var i = 0; i < rarray.length; i++) {
console.log(val[i].toString())
}
}) })
``` ```
## Type<sup>10+</sup>
Base64编码格式枚举。
**系统能力:** SystemCapability.Utils.Lang
| 名称 | 值 | 说明 |
| -------- | ------------------------ | ---------------- |
| BASIC | 0 | 表示BASIC编码格式 |
| MIME | 1 | 表示MIME编码格式。 |
## types<sup>8+</sup> ## types<sup>8+</sup>
types为不同类型的内置对象提供类型检查,可以避免由于类型错误导致的异常或崩溃。该模块包含了多个工具函数,用于判断JS对象是否属于各种类型例如:ArrayBuffer、Map、Set等。 types为不同类型的内置对象提供类型检查,可以避免由于类型错误导致的异常或崩溃。该模块包含了多个工具函数,用于判断JS对象是否属于各种类型例如:ArrayBuffer、Map、Set等。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册