0
votes

La bonne façon de prendre des éléments de deux octets de la liste, de les concerter et de les convertir en entiers

J'ai une liste avec 4 éléments contenant des entiers Data = [134, 2, 4, 170] heexdata = [0x86, 0x2, 0x4, 0xaa]

J'ai besoin d'obtenir des données hexagonales de deux derniers éléments, par exemple. (0x04 et 0xaa) les concaténer à cette vue 0x04aa et convertir en int En fin de compte, j'ai besoin d'obtenir entier avec la valeur = 1194. Je suis coincé dans cette tâche / xxx xxx


1 commentaires

Le 3ème élément est '0x4' au lieu de '0x04'


3 Réponses :


2
votes

Vous n'avez pas besoin de vous soucier de la formatage des chaînes ici - Utilisez int.from_bytes à la place, par exemple: xxx


1 commentaires

Merci mon ami. C'est exactement ce dont j'ai besoin. Votre réponse est la meilleure.



0
votes

Multiplier simplement le 4 en conséquence et l'ajoutez-vous? Pas besoin d'aller hexagonal dessus ... xxx

sortie: xxx


0 commentaires

1
votes
data = [134, 2, 4, 170]
result = data[-2] << 8 | data[-1]

1 commentaires

le changement de bits est encore plus élégant que de multiplier par 256