2017-07-10 3 views
0

J'ai un programme qui prend une adresse IPv4 et la convertit en hexadécimal. Cependant, je me sers d'une bibliothèque qui nécessite une variable en utilisant hex être déclarée comme ceci:Conversion d'une chaîne hexadécimale en hexadécimal en python

hexValue = 0x73FF0861 

La méthode que j'utilise pour convertir l'adresse en hexadécimal affiche une chaîne, donc chaque fois que j'attribue la valeur hexadécimale de chaîne à une variable de la bibliothèque, une erreur de valeur est renvoyée car l'hex est une chaîne. Est-il possible dans Python 2.7 de convertir les adresses IPv4 en hexadécimal de manière à ce que la bibliothèque puisse les utiliser?

+0

Voulez-vous passer la chaîne '73FF0861' comme nombre hexadécimal' 0x73XX0861' (qui est int 1946093665)? – Psytho

+0

Pouvez-vous donner le nom de la bibliothèque que vous utilisez qui vous oblige à déclarer une valeur hexadécimale comme décrit ci-dessus? – Tejaswi

+0

@ Alex.S oui, c'est exactement ce que je voudrais faire. –

Répondre

0

Vous pouvez convertir la chaîne hexagonale en hexadécimal comme ci-dessous:

ip_hex = hex(int('0x73FF0861', 16)) 
+0

'type (ip_hex)' renvoie '' – Psytho

+0

désolé, mon erreur. Quoi qu'il en soit, je ne suis pas sûr de savoir comment représenter une valeur hexadécimale sans les guillemets parce que déclarer hexValue = 73FF0861 résulte en erreur – Tejaswi

+0

@Tejaswi désolé, j'ai fait une erreur. Dans le programme, certaines variables sont assignées avec des nombres entiers hexadécimaux comme 0x73FF0861, pas la façon dont j'ai d'abord décrit dans ma réponse. –