1# 方舟编译运行时子系统变更说明 2 3## cl.arkcompiler.1 iconv,iconv_open 接口变更 4 5**访问级别** 6 7公开接口 8 9**变更原因** 10 11iconv新增//IGNORE 和 //TRANSLIT 功能,补充支持正常编码转 gb18030、gbk、gb2312、big5的编码能力。 12 13例如: 14 iconv_t cd = iconv_open("UTF-8//IGNORE", "gbk//TRANSLIT"); 15 16**变更影响** 17 18此变更涉及应用适配。 19 20变更前:iconv_open(const char *__tocode, const char *__fromcode) 接口入参不支持拓展//IGNORE 和 //TRANSLIT,入参 tocode 不支持gb18030、gbk、gb2312、big5,使用这类入参结果会返回-1。 21 22变更后: 23 24 1、iconv_open(const char *__tocode, const char *__fromcode) 接口入参支持拓展//IGNORE 和 //TRANSLIT,仅入参 tocode 拓展支持gb18030、gbk、gb2312、big5这几种新的编码格式,使用这类入参结果会正常返回结构体指针。 25 26 2、由于切换成icu的实现方式,异常判断逻辑也存在变更,iconv接口现在存在不会对入参进行校验的情况,只会在转换过程中遇到非法字符才会根据//IGNORE 和 //TRANSLIT 的开启状态返回相应的结果。 27 28 3、iconv_open 函数返回的结构体指针所指向的内部结构体,其结构发生了变更,结构体的大小也随之增大。 29 30**变更发生版本** 31 32从OpenHarmony SDK 5.1.0.49开始。 33 34**变更的接口/组件** 35 36iconv ,iconv_open 接口。 37 38**适配指导** 39 40``` 41