TypeError: Odd-longueur de la chaîne lors du décodage de chaîne hexadécimale
J'ai veillé à ce que la chaîne est supprimée et que j'ai toujours l'impair de la longueur de la chaîne en question. Quelqu'un peut-il me dire ce que je fais mal?
>>> toSend = "FF F9 FF 00 00 FA FF F7 FF F4 FF F6 FF F7 FF F6 FF FD FF 05 00 03 00 06 00 05 00 04 00 06 00 06 00 03 00 FB FF 02 00 0B"
>>> toSend.decode("hex")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/encodings/hex_codec.py", line 42, in hex_decode
output = binascii.a2b_hex(input)
TypeError: Odd-length string
>>>
- avez-vous supprimé les espaces blancs?
Vous devez vous connecter pour publier un commentaire.
Les espaces dans la chaîne sont en confondant le
decode
méthode. Votre code ne fonctionnera que si vous les supprimer:Ou, si vous devez les faire, utilisez
str.join
et une compréhension de liste:binascii
binascii.a2b_hex(toSend.replace(' ', ''))