在寻找序列化-反序列化选项时,我遇到了 nanopb,它适用于使用 google 协议缓冲区的 32 位控制器。
当我对在 gsm 调制解调器上尝试 mqtt 通信感到好奇时,我意识到我无法让 nanopb 的编码机制知道如何处理转义字符/特殊字符,例如 CTRL+Z,因为它们都被编码以十六进制格式。(例如,十六进制的 CTRL+Z 将是 0x1A)并且 gsm 调制解调器使用 0x1A 作为消息终止字符。因此,当通过 AT 命令向调制解调器发送 nanopb 编码消息时,调制解调器将包含 0x1A 的编码消息解释为 CTRL+Z,这是它不应该的。
在这种情况下可以使用 nanopb 吗?还是我做错了什么?