我目前正在开展一个项目,我需要与微硬蜂窝调制解调器IPn3G进行通信。我将调制解调器设置为通过TCP向我的计算机发送消息,我可以在套接字中接收消息。
消息看起来像这样:
���������DKReadyCANRogersWirelessInc. Home354626030393530302720391029547
现在,我可以识别其中的一些领域,如Status或Carrierinfo以及最终的imei和imsi。
我的问题是,我如何解析看起来很滑稽的东西?我已经尝试过struct,但它似乎并不能帮助我。
在调制解调器的文档中我只发现了这个:
Modem_event消息结构:
承运人信息:
对我来说,似乎这个消息甚至没有与它应该是什么排成一行。如果有人就如何解决这个问题提出建议,我会很高兴。
谢谢
答案 0 :(得分:0)
Python有很棒的struct模块,它允许你打包和解包二进制数据。
我知道,你已经尝试过使用它了。我没有文档,为你的设备(去检查它!),但我可以假设,字符串是空终止的(它们之前没有给出它们的大小)。
获取消息的字符串部分的大小(从其他字段的大小和数据包长度),并使用<number>s
将所有字符串读取到一个Python字符串中,并将它们拆分,找到空字符。