#夏日挑战赛#【FFH】OpenHarmony与HarmonyOS实现中文交流(二) 原创 精华
龙眼Litchi
发布于 2022-6-19 21:50
浏览
5收藏
在前天发表的OpenHarmony与HarmonyOS的Socket对话文章中存在这样一个问题,那就是传递的中文消息不能被解析!主要原因就是信息的编码问题,本次我们将尝试解决这个问题。
0.效果
- 传递中文出现乱码
1.分析原因
可以看到在前一篇博文,我们在Harmony端用JAVA编写的Socket发送的数据流是UTF8格式编码的,但是在OpenHarmony端的JS侧把该信息流当做UNICODE编码来解析,中文在这个过程中无法被正确解析。那我们干脆在JAVA侧提前把中文转换成unicode编码再传输过去,JS侧同样用unicode解码即可。
HarmonyOS和OpenHarmony基本通信搭建可以参考我的前一篇博文哦
OpenHarmony与HarmonyOS信息交流(一)
2.HarmonyOS-JAVA侧
每次发送信息前,都将信息通过unicode函数转换成unicode编码的字符串形式。
- unicode()
- sendMessage()
3.OpenHarmony-JS侧
前面HarmonyOS传来的是unicode编码的字符串形式,进行了10进制-16进制的转换,那么我们这里进行16进制-10进制转换,进行unicode解码即可。
- unicodeTostr()
- creatSocket
4.优化后结果
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-6-19 21:50:04修改
赞
13
收藏 5
回复
13
4
5
相关推荐
原来如此 有点东西
好!好!好!
大佬好厉害!
大佬好厉害!