Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
MQTT
中文编码
柿饼_PersimmonUI
为什么柿饼派使用mqtt接收中文消息时为null?
发布于 2021-09-07 22:52:53 浏览:897
订阅该版
咨询一个柿饼派的问题:使用柿饼派的mqtt接收json消息,当json消息中有中文时,接收到的消息为null,不含中文时消息接收正常。请问中文消息在柿饼派的mqtt中是不支持的吗? 如下图所示: ![image.png](https://oss-club.rt-thread.org/uploads/20210907/1708d7491c0997a0b8f9371aa9d9b841.png.webp) ![image.png](https://oss-club.rt-thread.org/uploads/20210907/cb8251ed84ef81ee86d1c57dcee13abe.png.webp)
查看更多
李肯陪你玩赚嵌入式
认证专家
2021-09-08
2022年度和2023年度RT-Thread社区优秀开源布道师,COC深圳城市开发者社区主理人,专注于嵌入式物联网的架构设计
我猜测这段JSON数据肯定是已经收到了的,只不过打印函数在处理 中文编码的时候,无法正常打印。 这个时候,你需要用打印内存字节的方式,一个个字节打印出来。 推荐一个封装函数,使用hexdump的方式打印字节数组(也就是你收到的json字符串) 可以参考下[hexdump打印接口](https://blog.csdn.net/szullc/article/details/120176216) 为此我还特意试下一下打印中文字符串,分别用printf和hexdump打印,区别如下: ![image.png](https://oss-club.rt-thread.org/uploads/20210908/e4b6b9a543813aaeae0d4c8b70008d8e.png) ![image.png](https://oss-club.rt-thread.org/uploads/20210908/32604fa6196a580445c7b4cb14e5c810.png) 以上答案,希望能够帮助到你。
3
个回答
默认排序
按发布时间排序
aozima
2021-09-07
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
用过中文的
fyywhy
2021-09-08
这家伙很懒,什么也没写!
问题解决了,在发送端发送的中文,在柿饼派的调试串口中打印出来确实会乱码,但把字符串显示到UI界面,又可以正常显示了。确实被坑了一下!还好最终达到目的,感谢各位的回答。下面分享一下对mqtt收到的json解析的代码,希望能帮助到和我一样苦苦寻求答案的朋友们: 假设以下的json: ``` { "name":"fyywhy", "date":"2021-09-08", "data":{ "website":"www.rt-thread.org", "num1":50, "num2":150, "nice":true, "novel":"当医生开了外挂", "friends":[ { "No":1, "name":"乐于助人", "skills":"c c++ linux arm stm32" }, { "No":2, "name":"乐观向上", "skills":"cad ug photoshop " } ] } } ``` 压缩后是这样子的: ``` {"name":"fyywhy","date":"2021-09-08","data":{"website":"www.rt-thread.org","num1":50,"num2":150,"nice":true,"novel":"当医生开了外挂","friends":[{"No":1,"name":"乐于助人","skills":"c c++ linux arm stm32"},{"No":2,"name":"乐观向上","skills":"cad ug photoshop "}]}} ``` 在js中解析的代码: ``` //监听MQTT订阅的消息回调函数,当接收到订阅的消息,则打印出来 this.client.on("message", function (topic, message) { jsonStr = message.toString("utf8"); json_obj = JSON.parse(jsonStr); console.log("============================================\r\n"); console.log("name=" + json_obj.name); console.log("date=" + json_obj.date); console.log("website=" + json_obj.data.website); console.log("num1=" + json_obj.data.num1); console.log("num2=" + json_obj.data.num2); console.log("nice=" + json_obj.data.nice); console.log("novel=" + json_obj.data.novel); for(var i=0; i
撰写答案
登录
注册新账号
关注者
0
被浏览
897
关于作者
fyywhy
这家伙很懒,什么也没写!
提问
2
回答
7
被采纳
0
关注TA
发私信
相关问题
1
【PersimmonUI柿饼学习营】+ A Byte of China + 环境搭建&20W年薪广告
2
【柿饼学习营】+werrysuzhen+20W年薪作业
3
【PersimmonUI柿饼学习营】+ meetwit + 20W年薪广告&lesson01
4
【PersimmonUI柿饼学习营】+ DaZhou + 20W年薪作业+视频有彩蛋
5
【PersimmonUI柿饼学习营】+ DMY+ lesson01 20W年薪广告
6
【PersimmonUI柿饼学习营】+ Bigmagic+20W年薪广告&day01
7
【PersimmonUI柿饼学习营】+ chowguohua+年薪广告
8
【柿饼学习营】+werrysuzhen+脚本及事件学习
9
【PersimmonUI柿饼学习营】+ DaZhou+ 手把手教你做计算器
10
【PersimmonUI柿饼学习营】+ A Byte of China + 2048游戏
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
如何在master上的BSP中添加配置yml文件
2
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
3
RT-Thread 发布 EtherKit开源以太网硬件!
4
rt-thread使用cherryusb实现虚拟串口
5
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
RTT_逍遥
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部