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 se una stringa è vuota in un modo pythonico
- 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
