napi读取js字符串对象, 赋值给c++对象之后会出现乱码或者为空,以及如何通过读取字符串长度?
1、napi读取js字符串对象, 赋值给c++ 对象之后会出现乱码或者为空的问题. 是否由编译优化设置导致?使用napi_get_value_string_utf8,想获取字符串长度,不想通过循环判断读取整个字符串长度,不知道有什么办法。同时napi读取js字符串对象, 赋值给c++对象之后会出现乱码或者为空的问题,不确认是否由编译优化设置导致。
2、napi_get_value_string_utf8 只能读取已知长度字符串, 只能通过循环判断读取整个字符串长度?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
JS UI 如何读取string.json中配置的字符串
4682浏览 • 1回复 待解决
ArkUI组件的字符串中如何实现字符串变量拼接
549浏览 • 1回复 待解决
多个变量的字符串,如何使用resourceManager获取变量替换后的字符串
167浏览 • 1回复 待解决
如何实现字符串编解码
362浏览 • 1回复 待解决
如何生成UUID的字符串
348浏览 • 1回复 待解决
mysql怎么查询逗号隔开的字符串是否再字段的字符串中?
442浏览 • 1回复 待解决
mysql 正则替换 特定字符串及其之后的内容
1247浏览 • 1回复 待解决
ArkTS如何实现字符串编解码
584浏览 • 1回复 待解决
emoji字符串无法进行截取
100浏览 • 1回复 待解决
嵌套JSON字符串解析问题
145浏览 • 1回复 待解决
时间戳字符串 比如 1639025996224,声明为字符串类型,判断length > 0 返回false
145浏览 • 1回复 待解决
在Native侧如何精准获取ArkTS侧传入的字符串长度
497浏览 • 1回复 待解决
如何实现ArkUI组件字符串变量拼接
525浏览 • 1回复 待解决
时间戳字符串 比如 1639025996224,声明为字符串类型,判断length > 0 返回false,为什么
145浏览 • 1回复 待解决
Web如何使用loadData加载复杂Html字符串
434浏览 • 1回复 待解决
如何加载字符串形式H5数据
310浏览 • 1回复 待解决
关于字符串的分割和重组处理
2089浏览 • 1回复 待解决
sql 怎么对带单位字符串排序?
768浏览 • 1回复 待解决
$r('xxxxx')是否支持字符串动态拼接
110浏览 • 1回复 待解决
如何对字符串进行MD5哈希处理
435浏览 • 1回复 待解决
napi_create_string_utf8 不支持JSON字符串输入吗?
123浏览 • 1回复 待解决
mysql order对数字型字符串排序
641浏览 • 1回复 待解决
Redis数据类型string(字符串)是什么?
1506浏览 • 1回复 待解决
eTS中如何进行时间与字符串转换?
2098浏览 • 1回复 待解决
mysql替换字符串的问题有知道的吗?
1598浏览 • 1回复 待解决
1.可以使用napi_get_value_string_utf8的第五个参数来获取ArkTS层传入字符串的长度。这个参数是一个指向size_t类型的变量,它会在函数调用成功后被赋值为字符串的长度。你可以根据这个长度来分配合适大小的char数组。具体操作为:先调用napi_get_value_string_utf8函数来获取字符串的长度,然后根据长度分配char数组的内存空间。最后,我们再次调用napi_get_value_string_utf8函数来获取字符串的内容。注意,我们在分配内存时,可以将长度+1,以便为字符串添加终止符’\0’。
代码如下:
2.另,在char* 转string的过程中有可能出现类型转换耗时的问题,导致乱码的出现,把util_get_object_string_property_value()和util_get_object_string_property_value()的返回值都设成char*可以解决问题。