Sto riscontrando qualche difficoltà nel cambiare un esadecimale in un int/char (char preferibilmente). Tramite il sito web; http://home2.paulschou.net/tools/xlate/ Inserisco l'esagono di C0A80026 nella casella esadecimale, nella casella DEC/CHAR restituisce correttamente l'IP che mi aspettavo che contenesse.Python - Conversione di esadecimale in INT/CHAR
Questi dati vengono estratti da un database esterno e non sono a conoscenza di come viene salvato, quindi tutto ciò di cui ho bisogno è la stringa esadecimale.
Ho provato a utilizzare la funzione binascii.unhexlify
per vedere se potevo decodificarlo ma temo di non avere una comprensione abbastanza buona di hex per apprezzare ciò che sto facendo.
Anche il tentativo di stampare utilizzando solo un cast di int() non ha prodotto i risultati richiesti. Ho bisogno di un modo per convertire da quella stringa esadecimale (o una simile) all'IP originale.
AGGIORNAMENTO: Per chi si imbatte in questo in futuro ho modificato leggermente la risposta di seguito per fornire una stampa esatta come IP utilizzando;
dec_output = str(int(hex_input[0:2], 16)) + "." + str(int(hex_input[2:4], 16)) + "." + str(int(hex_input[4:6], 16)) + "." + str(int(hex_input[6:8], 16))
possibile duplicato del [stringa esadecimale Convertire in int in Python] (http://stackoverflow.com/questions/ 209513/convert-hex-string-to-int-in-python) –
Questa soluzione non funziona con il mio problema – Draineh
Si prega di spiegare esattamente come la domanda di duplicazione non è un duplicato. I dettagli contano. "non funziona con il mio problema" è troppo vago per significare qualsiasi cosa. –