Python: Konvertierung von HEX-string in bytes

Ich versuche zu machen-byte-frame, die ich sende über UDP. Ich habe Klasse Rahmen die Attribute sync, frameSize, Daten, Prüfsumme etc. Ich bin mit hex-Saiten-Wert-Darstellung. Wie diese:

testFrame = Frame("AA01","0034","44853600","D43F")

Nun, ich brauche zu verketten diese hex-Werte zusammen und konvertieren Sie Sie in byte-array wie dieses?!

def convertToBits(self):
    stringMessage = self.sync + self.frameSize + self.data + self.chk
    return b16decode(self.stringMessage)

Aber wenn ich drucken konvertierten Wert habe ich nicht bekommen, die gleichen Werte, oder ich weiß nicht, zu Lesen, python-notation korrekt:

This is sync: AA01
This is frame size: 0034
This is data:44853600
This is checksum: D43F

b'\xaa\x01\x004D\x856\x00\xd4?'

So, erstes Wort umgewandelt wird, ok (AA01 -> \xaa\x01) aber (0034 -> \x004D) es ist nicht das gleiche. Ich habe versucht, bytearray.fromhex da kann ich verwenden Sie Leerzeichen zwischen den bytes, aber ich bekam das gleiche Ergebnis. Können Sie mir helfen, senden gleichen hex Worte über UDP?

  • Die string-4D \x34\x44 so ist es kein problem, Sie einfach falsch verstanden, die Ausgabe
InformationsquelleAutor sstevan | 2014-07-31
Schreibe einen Kommentar