Da stringa a esadecimale in Python
I valori esadecimali hanno una base di 16. In Python, le stringhe esadecimali hanno il prefisso 0x
.
La funzione hex()
viene utilizzata per convertire un intero decimale nel rispettivo numero esadecimale. Per esempio,
a = 102
print(hex(a))
Produzione:
0x66
Possiamo anche convertire i valori float in esadecimali usando la funzione hex()
con la funzione float()
. Il codice seguente implementa questo.
a = 102.18
print(float.hex(a))
Produzione:
0x1.98b851eb851ecp+6
Non è possibile convertire una stringa utilizzando questa funzione. Quindi, se abbiamo una situazione in cui abbiamo una stringa esadecimale e vogliamo convertirla nel numero esadecimale, non possiamo farlo direttamente. In questi casi, dobbiamo convertire questa stringa nel valore decimale richiesto usando la funzione int()
e poi convertirla nel numero esadecimale usando la funzione hex()
discussa in precedenza.
Il codice seguente lo mostra.
hex_s = "0xEFA"
a = int(hex_s, 16)
hex_n = hex(a)
print(hex_n)
Produzione:
0xEFA
I caratteri nella stringa non hanno alcun valore esadecimale corrispondente. Tuttavia, se convertiamo una stringa in un oggetto di tipo byte, usando la funzione encode()
, possiamo convertirla nel suo valore esadecimale usando la funzione hex()
.
Per esempio,
s = "Sample String".encode("utf-8")
print(s.hex())
Produzione:
53616d706c6520537472696e67
Nel codice sopra, codifichiamo la stringa nel tipo utf-8
e la convertiamo in tipi di byte.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3