Come convertire un intero in una stringa esadecimale in Python

In questo post, vedremo come convertire un intero in una stringa esadecimale in Python.

funzione

hex()

Il modo pitonico per convertire un intero in una stringa esadecimale è usare la funzione integrata hex(). Essa restituisce la stringa esadecimale in minuscolo con il prefisso 0x.

1
2
3
4
5
6
7
8

if __name__ == ‘__main__’:
i = 4095
h = hex(i)
print(h) # ‘0xfff’

Per ottenere una stringa esadecimale maiuscola o per eliminare il prefisso, usate una delle soluzioni discusse qui sotto.

funzioneformat()

Un’altra opzione è usare la funzione integrata format() che può convertire un intero in una stringa esadecimale usando la specifica di formato x. Se usi #x, la stringa esadecimale è preceduta da 0x. Se usi X o #X, puoi ottenere una stringa esadecimale maiuscola.

1
2
3
4
5
6
7

if __name__ == ‘__main__’:
i = 4095
h = (format(i, ‘#x’), format(i, ‘#X’), format(i, ‘x’), format(i, ‘X’)
print(h) # (‘0xfff’, ‘0XFFF’, ‘fff’, ‘FFF’)

f-strings

A partire da Python 3.6, potete usare f-strings. Questo può essere fatto prefissando il letterale di stringa con f o F. Il letterale di stringa dovrebbe essere racchiuso tra le parentesi graffe {} e dovrebbe contenere l’intero seguito dalla specifica di formattazione x separata da due punti :.

Per prefissare la stringa esadecimale con 0x, usate #x e per ottenere una stringa esadecimale maiuscola, usate X o #X. Ecco come sarebbe il codice:

1
2
3
4
5
6
7

if __name__ == ‘__main__’:
i = 4095
h = (f'{i:#x}’, f'{i:#X}’, f'{i:x}’, f'{i:X}’)
print(h) # (‘0xfff’, ‘0XFFF’, ‘fff’, ‘FFF’)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.