Python 3.4解码HEX字符串

时间:2016-03-31 07:09:07

标签: python hex decode utf8-decode

我在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

我不知道问题是什么。

1 个答案:

答案 0 :(得分:0)

GPS设备有很多通信协议。很多设备都使用NMEA0183,但这是一个纯文本协议,显然不是纯文本。

如果您没有运行ms-windows,则应检查gpsd是否支持您的GPS。它将来自GPS的信号转换为可理解的信号。它有可用的Python绑定。