2016-03-31 14 views
0

I Fragen bin mit Blick auf den folgenden Hex-String in Python 3.4 zu entschlüsseln:Python 3.4 dekodieren HEX String

b'"\x00\x08\x00\x83\x80\x00\x00\x00\x86\x11\x1dBA\x8c\xdb\xc0\\p\[email protected]\x00\x00\x00' 

Ich versuche, mit einem einfachen:

data = b'"\x00\x08\x00\x83\x80\x00\x00\x00\x86\x11\x1dBA\x8c\xdb\xc0\\p\[email protected]\x00\x00\x00' 

print(data.decode('ascii')) 

Aber ich bin immer die folgende Fehlermeldung:

UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 4: ordinal not in range(128) 

ich habe auch versucht, auf UTF-8 zu ändern

print(data.decode('utf-8')) 

Aber ohne Erfolg, wie der Fehler ist:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 4: invalid start byte 

Ich habe keine Ahnung, was das Problem sein könnte.

+0

Nun, was erwarten Sie von dem Charakter zu entschlüsseln? –

+0

Leider ist das das Problem. Ich erhalte diese Daten von einem GPS-Gerät und ich weiß nicht, was die letzte Zeichenfolge ist. –

+0

sind Sie sicher, dass es sich um eine Zeichenfolge handelt? vielleicht ist es ein Zahlenwert –

Antwort

0

Es gibt viele Kommunikationsprotokolle für GPS-Geräte. Viele Geräte verwenden NMEA0183, aber das ist ein Klartext-Protokoll und das ist eindeutig kein Klartext.

Wenn Sie MS-Windows nicht ausführen, sollten Sie überprüfen, ob Ihr GPS von gpsd unterstützt wird. Es übersetzt die Signale vom GPS in etwas Verständliches. Es sind Python-Bindungen verfügbar.