Convertir liste de chaînes d'octets à bytearray (flux d'octets)
J'ai une liste de hex chaînes représentant les octets, de la forme "FF". Je veux convertir l'ensemble de la liste à un flux d'octets, donc je peux vous l'envoyer sur une prise de courant (Python 3). Il ressemble à l'objet bytearray type de travail, mais je ne trouve aucun moyen de convertir directement la liste à un objet bytearray.
Je peux le faire manuellement dans une boucle, mais la figure il doit y avoir une meilleure façon Python pour ce faire.
Vous devez vous connecter pour publier un commentaire.
Si vous avez beaucoup de 'em, il pourrait être intéressant de voir qui est plus rapide.
0xDEADBEEF
est un entier qui concernehexstrings
seulement sur un gros-boutiste de la machine. Deuxième commentaire de code: le code fonctionne avec python 2.7 sans changement; il aurait besoin d'une chirurgie majeure de l'obtenir pour fonctionner sur des versions antérieures par exemple"".join([chr(int(x, 16)) for x in hexstrings])
va faire le travail pour Python 2.1 à 2.7 inclusive.bytearray
a été introduit dans le noyau 2.6, juste pour l'enregistrement.)Voir également l'objet bytearray.fromhex:
Se référer à :
char* PyByteArray_AsString(PyObject *bytearray)
Retourner le contenu de l'objet bytearray comme un tableau de char, après vérification par un pointeur NULL
de la python doc de référence