1# ArkTS子系统变更说明 2 3## cl.arkts.1 util.TextDecoder模块ignoreBOM功能行为变更 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11util.TextDecoder模块ignoreBOM参数未使能,无法对存在BOM标记的数据进行正常解析。 12 13**变更影响** 14 15此版本兼容之前的应用开发,不需要适配,后续可调用新增替代接口支持ignoreBOM的功能。 16 17**起始API Level** 18 199 20 21**变更发生版本** 22 23从OpenHarmony SDK 5.0.0.35 版本开始。 24 25**变更的接口/组件** 26 27为确保版本之间的兼容性,对util.TextDecoder模块ignoreBOM使能的相关接口进行废弃,并新增对应方法。 28| 类名 | 废弃接口 | 新增替代接口 | 29| ------------ | ------------ | ------------ | 30| util.TextDecoder | decodeWithStream(input: Uint8Array, options?: DecodeWithStreamOptions): string; | decodeToString(input: Uint8Array, options?: DecodeWithStreamOptions): string; | 31 32**适配指导** 33 34新增接口与废弃接口功能保持一致,主要是对于接受的数据进行解码,新增了ignoreBOM功能。 35 36``` 37import { util } from '@kit.ArkTS'; 38 39let textDecoderOptions: util.TextDecoderOptions = { 40 fatal: false, 41 ignoreBOM : true 42} 43let decodeToStringOptions: util.DecodeToStringOptions = { 44 stream: false 45} 46let textDecoder = util.TextDecoder.create('utf-8', textDecoderOptions); 47let result = new Uint8Array(6); 48result[0] = 0xEF; 49result[1] = 0xBB; 50result[2] = 0xBF; 51result[3] = 0x61; 52result[4] = 0x62; 53result[5] = 0x63; 54 55// 废弃接口decodeWithStream表现: 56// let decodeWithStreamOptions: util.DecodeWithStreamOptions = { 57// stream: false 58// } 59// let retStr = textDecoder.decodeWithStream(result , decodeWithStreamOptions); 60// console.info("retStr length: " + retStr.length); // retStr length: 4 61// console.info("retStr value: " + retStr); // retStr value: abc 62 63// 新增接口decodeToString表现: 64let retStr = textDecoder.decodeToString(result , decodeToStringOptions); 65console.info("retStr length: " + retStr.length); // retStr length: 3 66console.info("retStr value: " + retStr); // retStr value: abc 67``` 68 69## cl.arkts.2 Base64Helper、StringDecoder模块部分接口参数异常错误码由undefined变更为401 70 71**访问级别** 72 73公开接口 74 75**变更原因** 76 77接口参数异常错误码规格为401,但实际为抛出错误码为undefined,开发者无法精确找到问题原因。 78 79**变更影响** 80 81不兼容变更,参数异常的错误码由undefined变更为401。 82 83**起始API Level** 84 85| 类名 | 接口 | 起始API Level | 86| ----- | ---- | -------------- | 87| util.Base64Helper | encodeToStringSync(src: Uint8Array, options?: Type): string; | 9 | 88| util.Base64Helper | encode(src: Uint8Array, options?: Type): Promise<Uint8Array>; | 9 | 89| util.Base64Helper | encodeSync(src: Uint8Array, options?: Type): Uint8Array; | 9 | 90| util.Base64Helper | encodeToString(src: Uint8Array, options?: Type): Promise<string>; | 9 | 91| util.Base64Helper | decode(src: Uint8Array \| string, options?: Type): Promise<Uint8Array>; | 9 | 92| util.StringDecoder | constructor(encoding?: string); | 12 | 93| util.StringDecoder | write(chunk: string \| Uint8Array): string; | 12 | 94| util.StringDecoder | end(chunk?: string \| Uint8Array): string; | 12 | 95 96**变更发生版本** 97 98从OpenHarmony SDK 5.0.0.35 版本开始。 99 100**变更的接口/组件** 101 102| 类名 | 接口 | 变更 | 103| ------------ | ------------ | ------------ | 104| util.Base64Helper | encodeToStringSync(src: Uint8Array, options?: Type): string; | 参数异常由undefined变更为401。 | 105| util.Base64Helper | encode(src: Uint8Array, options?: Type): Promise<Uint8Array>; | 参数异常由undefined变更为401。 | 106| util.Base64Helper | encodeSync(src: Uint8Array, options?: Type): Uint8Array; | 参数异常由undefined变更为401。 | 107| util.Base64Helper | encodeToString(src: Uint8Array, options?: Type): Promise<string>; | 参数异常由undefined变更为401。 | 108| util.Base64Helper | decode(src: Uint8Array \| string, options?: Type): Promise<Uint8Array>; | 参数异常由undefined变更为401。 | 109| util.StringDecoder | constructor(encoding?: string); | 参数异常由undefined变更为401。 | 110| util.StringDecoder | write(chunk: string \| Uint8Array): string; | 参数异常由undefined变更为401。 | 111| util.StringDecoder | end(chunk?: string \| Uint8Array): string; | 参数异常由undefined变更为401。 | 112 113**适配指导** 114 115基于以上变更错误码的接口,开发者若存在对相关接口参数异常的错误码判断为undefined的情况,需要整改为判断401。 116