蓝牙模块接收到监测设备传输来的数据,封装格式为十六进制的数据帧,蓝牙模块将数据通过串口发送给wrtnode 2p,wrtnode通过ser2net服务将数据转为网络数据,可以通过监听192.168.8.1:2001实现对数据的抓取,环境为python3时通过socket编程接收收据并无问题,但是当环境为python2时出现了数据解析乱码问题。于是经过以下测试完成对数据的转换。
python3.5
#python3
taylen@ubuntu:~$ python3
Python 3.5.2 (default, Oct 8 2019, 13:06:37)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> s='\xaa'
>>> print(s)
ª
>>> s=s.encode('raw_unicode_escape')
>>> s
b'\xaa'
>>> print(s)
b'\xaa'
>>> s[0]
170
>>> print(s[0])
170
python2.7
对于ASCII中无对应的数据,例如'\xaa'
>>> s
'\xaa'
>>> print(s)
�
>>> ss =s.encode('string_escape')
>>> ss
'\