How to convert an integer to a hexadecimal string in Python

Ebben a bejegyzésben megnézzük, hogyan konvertáljunk egész számot hexadecimális karakterlánccá Pythonban.

hex() függvény

Az egész szám hexadecimális karakterlánccá alakításának pythoni módja a beépített hex() függvény használata. Ez kisbetűvel adja vissza a hexadecimális karakterláncot, amelynek előtagja 0x.

1
2
3
4
5
6
7
8

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

A nagybetűs hexadecimális stringhez vagy az előtag eltüntetéséhez használjuk az alább tárgyalt megoldások bármelyikét.

format() függvény

Egy másik lehetőség a beépített format() függvény használata, amely egy egész számot hexadecimális karakterlánccá tud alakítani a x formátum specifikáció segítségével. A #x használata esetén a hexadecimális karakterlánc elé 0x kerül. Ha a X vagy #X értéket használja, akkor nagybetűs hexadecimális karakterláncot kaphat.

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 Python 3.6-tól kezdve használhatunk f-stringeket. Ezt úgy lehet megtenni, hogy a string literál elé f vagy F karakterláncot írunk. A string literálnak a {} szögletes zárójelek közé kell kerülnie, és tartalmaznia kell az egész számot, amelyet a x formázási specifikáció követ, kettősponttal elválasztva :.

A hexadecimális string 0x előtagja a #x, a nagybetűs hexadecimális stringhez pedig a X vagy #X. Így nézne ki a kód:

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’)

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.