完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,请教一下,想通过串口发送数据给M3模块显示中文,现在处理是先在C底层接收串口发过来的字符串,然后调用string_to_js_object函数,C字符串转JS字符串,再发送到UI无法显示,如下图实验打印,
不知道是什么原因呢,如果我使用unsigned char aa[3] = "好";这样赋值的话却能正常显示的,实在搞不懂。一般串口发上来是aa[3] = {0xba,0xc3,0x00};这些字符串数据的。应该如何操作才能显示的呢,试过各种sprintf转换编码不行。 另外像我这种通过串口数据给显示屏UI显示中文, 应该使用哪种比较好呢,直接发给JS层吗,还是先发到C层,再由C层发到JS层呢,发JS层的话,需要发UTF-8编码,那这个UTF-8编码有可参考的转换程序吗。 |
|
相关推荐
6个回答
|
|
提示很明显啊,不是 UTF-8。
好字在 utf-8 里肯定是三个字节表达的。你才写了两个字节,看样子好像是gbk编码不是utf-8 你得让发送方发utf-8编码字符 在线转换工具 你还可以创建 utf-8 编码的文本文件,把要发的内容写到文件,然后用串口调试助手发送文件,如果你的串口调试助手不支持就不考虑这个了。 |
|
|
|
官方说明string_to_js_object(const char* str) 这个是C字符串转JS字符串,我是调用了这个函数,按正常应该是API里面转换的,不知道为什么它不起作用?
|
|
|
|
aa[3] = {0xba,0xc3,0x00} 这个,不是 utf-8 string_to_js_object 转换了可能也不对
|
|
|
|
如果我转了UTF-8格式了,那就不用这个string_to_js_object(const char* str)转换了呢,直接发上去就行了,我看形参那里也是要求char类型的,
|
|
|
|
char* 这个类型比较特殊,啥都可以指向。
你这个问题是编码转换,string_to_js_object 应该做不到编码转换的作用。 所以,首先要求通信双方约定好通信使用的编码格式,当确定下来编码格式后,就是看哪一方转换成目标编码格式的问题了。我的建议是在pc端,发送端转换成utf-8格式。 |
|
|
|
好的,多谢,看来只能先转UTF-8格式了。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
792 浏览 0 评论
4507 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2564 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2939 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31587 浏览 11 评论
73005 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 22:35 , Processed in 0.724351 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号