Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
MQTT
中文编码
柿饼_PersimmonUI
为什么柿饼派使用mqtt接收中文消息时为null?
发布于 2021-09-07 22:52:53 浏览:997
订阅该版
咨询一个柿饼派的问题:使用柿饼派的mqtt接收json消息,当json消息中有中文时,接收到的消息为null,不含中文时消息接收正常。请问中文消息在柿饼派的mqtt中是不支持的吗? 如下图所示:  
查看更多
李肯陪你玩赚嵌入式
认证专家
2021-09-08
2022年度和2023年度RT-Thread社区优秀开源布道师,COC深圳城市开发者社区主理人,专注于嵌入式物联网的架构设计
我猜测这段JSON数据肯定是已经收到了的,只不过打印函数在处理 中文编码的时候,无法正常打印。 这个时候,你需要用打印内存字节的方式,一个个字节打印出来。 推荐一个封装函数,使用hexdump的方式打印字节数组(也就是你收到的json字符串) 可以参考下[hexdump打印接口](https://blog.csdn.net/szullc/article/details/120176216) 为此我还特意试下一下打印中文字符串,分别用printf和hexdump打印,区别如下:   以上答案,希望能够帮助到你。
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
被浏览
997
关于作者
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
RTT串口查找函数使用过程中遇到的问题。
2
RT-Thread CI编译产物artifacts自动上传功能介绍
3
STM32G030移植RT-Thread
4
CubeMX & RT-Thread Studio 联合开发说明
5
RT-Thread项目助手v0.3 | Ubuntu与MacOS平台的RT-Thread Env
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
rt-smart
RTC
FAL
cubemx
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
SFUD
ulog
msh
C++_cpp
MicroPython
本月问答贡献
出出啊
1522
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
814
个答案
179
次被采纳
crystal266
555
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
6
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部