我在python 3.4中遇到解码以下十六进制字符串的问题:
b'"\x00\x08\x00\x83\x80\x00\x00\x00\x86\x11\x1dBA\x8c\xdb\xc0\\p\xfe@NR09G06654\x00\x00\x00'
我试着用一个简单的方法:
data = b'"\x00\x08\x00\x83\x80\x00\x00\x00\x86\x11\x1dBA\x8c\xdb\xc0\\p\xfe@NR09G06654\x00\x00\x00'
print(data.decode('ascii'))
但是我收到以下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 4: ordinal not in range(128)
我也尝试过更改为UTF-8
print(data.decode('utf-8'))
但是没有成功,因为错误是:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 4: invalid start byte
我不知道问题是什么。
答案 0 :(得分:0)
GPS设备有很多通信协议。很多设备都使用NMEA0183,但这是一个纯文本协议,显然不是纯文本。
如果您没有运行ms-windows,则应检查gpsd是否支持您的GPS。它将来自GPS的信号转换为可理解的信号。它有可用的Python绑定。